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  #  后面会单独写一章节详解。

转载于:https://www.cnblogs.com/hejianping/p/11170617.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值