zoukankan      html  css  js  c++  java
  • 05-docker常用命令操作

    docker 常用的操作命令:

    1. docker version  #  显示 Docker 版本信息。

    [hejianping@localhost ~]$ sudo docker version
    Client:
     Version:           18.06.1-ce
     API version:       1.38
     Go version:        go1.10.3
     Git commit:        e68fc7a
     Built:             Tue Aug 21 17:23:03 2018
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server:
     Engine:
      Version:          18.06.1-ce
      API version:      1.38 (minimum version 1.12)
      Go version:       go1.10.3
      Git commit:       e68fc7a
      Built:            Tue Aug 21 17:25:29 2018
      OS/Arch:          linux/amd64
      Experimental:     false

    2. docker info  #  显示 Docker 系统信息,包括镜像和容器数。

    [hejianping@localhost ~]$ sudo docker info
    Containers: 4
     Running: 2
     Paused: 0
     Stopped: 2
    Images: 5
    Server Version: 18.06.1-ce
    Storage Driver: overlay2
     Backing Filesystem: xfs
     Supports d_type: true
     Native Overlay Diff: false
    Logging Driver: json-file
    Cgroup Driver: cgroupfs
    Plugins:
     Volume: local
     Network: bridge host macvlan null overlay
     Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
    Swarm: inactive
    Runtimes: runc
    Default Runtime: runc
    Init Binary: docker-init
    containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
    runc version: 69663f0bd4b60df09991c08812a60108003fa340
    init version: fec3683
    Security Options:
     seccomp
      Profile: default
    Kernel Version: 3.10.0-514.el7.x86_64
    Operating System: CentOS Linux 7 (Core)
    OSType: linux
    Architecture: x86_64
    CPUs: 2
    Total Memory: 3.686GiB
    Name: localhost.localdomain
    ID: JTLV:R3NL:BIH5:7GM2:6JVF:3X27:BXSA:5TPW:VDMO:5JNC:PIQG:EYPG
    Docker Root Dir: /var/lib/docker
    Debug Mode (client): false
    Debug Mode (server): false
    Registry: https://index.docker.io/v1/
    Labels:
    Experimental: false
    Insecure Registries:
     127.0.0.0/8
    Registry Mirrors:
     https://registry.docker-cn.com/
    Live Restore Enabled: false
    
    WARNING: bridge-nf-call-iptables is disabled
    WARNING: bridge-nf-call-ip6tables is disabled

    3. docker search 镜像名字  #  从 Docker Hub 中搜索符合条件的镜像。

    [hejianping@localhost ~]$ sudo docker search centos7
    NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
    ansible/centos7-ansible            Ansible on Centos7                              122                                     [OK]
    flyceek/centos7-jdk                centos7-jdk                                     5                                       [OK]
    ryanj/centos7-s2i-nodejs           STOP RUNNING YOUR APP BUILDS AS ROOT!! Use t…   5                                       
    paigeeworld/centos7                Centos7 with apache, iperf3, nmap, ssh          4                                       
    bucharestgold/centos7-s2i-nodejs   OpenShift S2I builder images for Node.js app…   4                                       
    lhcbdev/centos7-build                                                              3                                       
    ovirtguestagent/centos7-atomic     The oVirt Guest Agent for Centos 7 Atomic Ho…   2                                       
    nodesource/centos7                 The Official NodeSource Docker Images           2                                       
    prairielearn/centos7-python                                                        1                                       
    myheritage/centos7-git-java        CentOs based docker image for Jenkins slave     1                                       [OK]
    toolsmiths/centos7-dev                                                             0                                       
    rmtm/centos7                       CentOS7 Baseline for RMTM                       0                                       
    chekanov/centos7hepsim             Software for HepSim repository based on Cent…   0                                       
    mimacom/centos7-java               Docker image based on centos7 with java         0                                       [OK]
    sglim2/centos7                     centos7 with gcc/g++/make/git                   0                                       [OK]
    pivotaldata/centos7-dev            CentosOS 7 image for GPDB development           0                                       
    toolsmiths/centos7-build                                                           0                                       
    caio2k/centos7                     centos7 with supervisord and vagrant user       0                                       [OK]
    fortinj66/centos7-s2i-nodejs       based off of ryanj/centos7-s2i-nodejs.  Bigg…   0                                       
    puzzle/centos7-ruby-25-openssl     official redhat ruby 2.5 image PLUS openssl     0                                       [OK]
    nodeshift/centos7-s2i-nodejs       OpenShift S2I builder images for Node.js app…   0                                       
    0702/centos7                       A centos7 with usual utils                      0                                       [OK]
    toolsmiths/centos7-test                                                            0                                       
    martinrw/centos7-icinga            Basic centos7 image with icinga2, used for t…   0                                       
    couchbase/centos7-systemd          centos7-systemd images with additional debug…   0                                       [OK]

     4. docker pull 镜像名字  #  从 Docker Hub 中拉取或者更新指定镜像。

    [hejianping@localhost ~]$ sudo docker pull alpine
    Using default tag: latest
    latest: Pulling from library/alpine
    921b31ab772b: Pull complete 
    Digest: sha256:ca1c944a4f8486a153024d9965aafbe24f5723c1d5c02f4964c045a16d19dc54
    Status: Downloaded newer image for alpine:latest

    5. docker images  #  列出本地所有镜像。

    [hejianping@localhost ~]$ sudo docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    gitlab              v1                  ce156d91be08        3 days ago          3.22GB
    jenkins             v1                  7df8d85dcb88        3 days ago          868MB
    alpine              latest              4d90542f0623        3 weeks ago         5.58MB
    ubuntu              latest              4c108a37151f        3 weeks ago         64.2MB
    centos              latest              9f38484d220f        3 months ago        202MB

    6. docker ps -a  #  列出所有容器(含沉睡镜像)。

    [hejianping@localhost ~]$ sudo docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS                            NAMES
    b5fc20548342        gitlab:v1           "/usr/sbin/init"    3 days ago          Up 3 days                 80/tcp, 0.0.0.0:9080->8080/tcp   Gitlab_v1
    191fded84c67        jenkins:v1          "/usr/sbin/init"    3 days ago          Up 3 days                 0.0.0.0:9090->8080/tcp           Jenkins_v1
    c650b8fbede5        centos              "/bin/sh"           8 days ago          Exited (137) 3 days ago                                    Gitlab
    04af6bc6f5fc        centos              "/bin/sh"           8 days ago          Exited (137) 3 days ago                                    Jenkins

    7. docker rmi 镜像名字  #  加-f是强制删除。

    [hejianping@localhost ~]$ sudo docker rmi alpine 
    Untagged: alpine:latest
    Untagged: alpine@sha256:ca1c944a4f8486a153024d9965aafbe24f5723c1d5c02f4964c045a16d19dc54
    Deleted: sha256:4d90542f0623c71f1f9c11be3da23167174ac9d93731cf91912922e916bab02c
    Deleted: sha256:256a7af3acb11f89914205b6eef07e05e4196e898329575d97185758b450eb52

    8. docker rm 容器名字  #  加-f是强制删除。

    [hejianping@localhost ~]$ sudo docker rm 6f123e25da48
    6f123e25da48

    9. docker history 镜像名 #  查看指定镜像的创建历史。

    [hejianping@localhost ~]$ sudo docker history gitlab:v1
    IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
    ce156d91be08        3 days ago          /bin/sh                                         3.02GB              my Gitlab
    9f38484d220f        3 months ago        /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B                  
    <missing>           3 months ago        /bin/sh -c #(nop)  LABEL org.label-schema.sc…   0B                  
    <missing>           3 months ago        /bin/sh -c #(nop) ADD file:074f2c974463ab38c…   202MB      

    10. docker start|stop|restart  # 启动、停止和重启一个或多个指定容器。

    [hejianping@localhost ~]$ sudo docker restart  Gitlab_v1 
    Gitlab_v1
    [hejianping@localhost ~]$ sudo docker stop  Gitlab_v1          
    Gitlab_v1
    [hejianping@localhost ~]$ sudo docker start  Gitlab_v1   
    Gitlab_v1

    11. docker save # 将指定镜像保存成 tar 归档文件, docker load的逆操作。

    [hejianping@localhost ~]$ sudo docker save alpine  >/tmp/alpine.tar.gz

    12. docker load # 从 tar 镜像归档中载入镜像, docker save 的逆操作。

    [hejianping@localhost ~]$ sudo docker load </tmp/alpine.tar.gz
    256a7af3acb1: Loading layer [==================================================>]  5.844MB/5.844MB
    Loaded image: alpine:latest
    [hejianping@localhost ~]$ sudo docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    gitlab              v1                  ce156d91be08        3 days ago          3.22GB
    jenkins             v1                  7df8d85dcb88        3 days ago          868MB
    alpine              latest              4d90542f0623        3 weeks ago         5.58MB
    ubuntu              latest              4c108a37151f        3 weeks ago         64.2MB
    centos              latest              9f38484d220f        3 months ago        202MB

    13. docker inspect  #  检查镜像或者容器的参数,默认返回 JSON 格式。

    [hejianping@localhost ~]$ sudo docker inspect alpine
    [
        {
            "Id": "sha256:4d90542f0623c71f1f9c11be3da23167174ac9d93731cf91912922e916bab02c",
            "RepoTags": [
                "alpine:latest"
            ],
            "RepoDigests": [],
            "Parent": "",
            "Comment": "",
            "Created": "2019-06-19T21:19:43.678347436Z",
            "Container": "e9121d926d4021e999c59e8ca03a9bbcc6d35a03f6a3a7ca13ec298d4b6b035a",
            "ContainerConfig": {
                "Hostname": "e9121d926d40",
                "Domainname": "",
                "User": "",
                "AttachStdin": false,
                "AttachStdout": false,
                "AttachStderr": false,
                "Tty": false,
                "OpenStdin": false,
                "StdinOnce": false,
                "Env": [
                    "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
                ],
                "Cmd": [
                    "/bin/sh",
                    "-c",
                    "#(nop) ",
                    "CMD ["/bin/sh"]"
                ],
                "ArgsEscaped": true,
                "Image": "sha256:6cf938bd24b52e7670589075d75b16c2154a76d4265f5e58b3bba11247a61804",
                "Volumes": null,
                "WorkingDir": "",
                "Entrypoint": null,
                "OnBuild": null,
                "Labels": {}
            },
            "DockerVersion": "18.06.1-ce",
            "Author": "",
            "Config": {
                "Hostname": "",
                "Domainname": "",
                "User": "",
                "AttachStdin": false,
                "AttachStdout": false,
                "AttachStderr": false,
                "Tty": false,
                "OpenStdin": false,
                "StdinOnce": false,
                "Env": [
                    "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
                ],
                "Cmd": [
                    "/bin/sh"
                ],
                "ArgsEscaped": true,
                "Image": "sha256:6cf938bd24b52e7670589075d75b16c2154a76d4265f5e58b3bba11247a61804",
                "Volumes": null,
                "WorkingDir": "",
                "Entrypoint": null,
                "OnBuild": null,
                "Labels": null
            },
            "Architecture": "amd64",
            "Os": "linux",
            "Size": 5581746,
            "VirtualSize": 5581746,
            "GraphDriver": {
                "Data": {
                    "MergedDir": "/var/lib/docker/overlay2/32d2e942edb728043766cf3149c4b9f15b7b037e0e8d1e92afb84532bf60ad4f/merged",
                    "UpperDir": "/var/lib/docker/overlay2/32d2e942edb728043766cf3149c4b9f15b7b037e0e8d1e92afb84532bf60ad4f/diff",
                    "WorkDir": "/var/lib/docker/overlay2/32d2e942edb728043766cf3149c4b9f15b7b037e0e8d1e92afb84532bf60ad4f/work"
                },
                "Name": "overlay2"
            },
            "RootFS": {
                "Type": "layers",
                "Layers": [
                    "sha256:256a7af3acb11f89914205b6eef07e05e4196e898329575d97185758b450eb52"
                ]
            },
            "Metadata": {
                "LastTagTime": "0001-01-01T00:00:00Z"
            }
        }
    ]

    14. docker commit  #  从容器创建一个新的镜像。

    # docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
    -a :提交的镜像作者;
    -c :使用Dockerfile指令来创建镜像;
    -m :提交时的说明文字;
    -p :在commit时,将容器暂停。
    [hejianping@localhost ~]$ sudo docker commit -a "hejianping" -m "this is test" 191fded84c67 jenkins:v2
    sha256:35961f4ca901ab2d4f991ddb7e3bd0cfc77869241259682e2bc7cf992d0e05d8
    [hejianping@localhost ~]$ sudo docker images
    REPOSITORY                       TAG                 IMAGE ID            CREATED              SIZE
    jenkins                          v2                  35961f4ca901        About a minute ago   882MB
    gitlab                           v1                  ce156d91be08        3 days ago           3.22GB
    jenkins                          v1                  7df8d85dcb88        3 days ago           868MB
    hejianping/apline_test           latest              4d90542f0623        3 weeks ago          5.58MB
    alpine                           latest              4d90542f0623        3 weeks ago          5.58MB
    ubuntu                           latest              4c108a37151f        3 weeks ago          64.2MB
    centos                           latest              9f38484d220f        3 months ago         202MB

    15. docker tag  #  标记本地镜像,将其归入某一仓库。

    [hejianping@localhost ~]$ sudo docker tag 35961f4ca901 apple01/hejianping/jenkins 
    [hejianping@localhost ~]$ sudo docker images
    REPOSITORY                       TAG                 IMAGE ID            CREATED             SIZE
    apple01/hejianping/jenkins       latest              35961f4ca901        5 minutes ago       882MB
    jenkins                          v2                  35961f4ca901        5 minutes ago       882MB
    gitlab                           v1                  ce156d91be08        3 days ago          3.22GB
    jenkins                          v1                  7df8d85dcb88        3 days ago          868MB
    alpine                           latest              4d90542f0623        3 weeks ago         5.58MB
    ubuntu                           latest              4c108a37151f        3 weeks ago         64.2MB
    centos                           latest              9f38484d220f        3 months ago        202MB

    16. docker push  #  将镜像推送至远程仓库,默认为 Docker Hub 。

    [hejianping@localhost ~]$ sudo docker push apple01/hejianping/jenkins
    The push refers to repository [docker.io/apple01/hejianping/jenkins]
    385a7d7bb34a: Preparing 
    d4ed538939b7: Preparing 
    d69483a6face: Preparing 
    denied: requested access to the resource is denied

    17. docker logs  #  获取容器运行时的输出日志。-f 跟踪容器日志的最近更新;-t 显示容器日志的时间戳;

    [hejianping@localhost ~]$ sudo docker logs -f Jenkins_v1
    [FAILED] Failed to start LSB: Bring up/down networking.
    See 'systemctl status network.service' for details.
    [  OK  ] Reached target Network.
    [  OK  ] Reached target Network is Online.
             Starting LSB: Jenkins Automation Server...
    [  OK  ] Stopped Getty on tty1.
    [  OK  ] Started Getty on tty1.
    [  OK  ] Created slice User Slice of root.
    [  OK  ] Started Session 97 of user root.
    [  OK  ] Started LSB: Jenkins Automation Server.
    [  OK  ] Reached target Multi-User System.
             Starting Update UTMP about System Runlevel Changes...
    [  OK  ] Started Update UTMP about System Runlevel Changes.

     18. docker run  #  后面会单独写一章节详解。

  • 相关阅读:
    uva 1510
    ADN中国团队參加微软的Kinect全国大赛获得三等奖
    在 window7 window8下公布webService注意问题
    html5调用手机摄像头,实现拍照上传功能
    4、深入理解Bean
    恶补jquery(四)jquery中事件--冒泡
    html5css3杂记
    Core Data 和 sqlite3的性能对比【图】3gs,iPhone4,4s,5的性能测试。
    boost 的函数式编程库 Phoenix入门学习
    information_schema模式表介绍 processlist
  • 原文地址:https://www.cnblogs.com/hejianping/p/11170617.html
Copyright © 2011-2022 走看看