目录

1、帮助命令

1.1 Docker版本信息 -> [docker version]

1.2 查看Docker配置信息 -> [docker info]

1.3 Docker 帮助命令 -> [docker --help]

2、镜像命令

2.1 查看所有镜像IMAGES -> [docker images]

2.2 查找 [远程] 镜像 -> [docker search]

2.3 获取远程镜像 -> [docker pull]

2.4 删除镜像 -> [docker rmi]

2.5 运行镜像 -> [docker run]

2.6 发布镜像 -> [docker push]

3、容器命令

3.1 新建并启动 -> [docker run]

3.2 列出所有容器 -> [docker ps]

3.3 退出容器 -> [exit]

3.4 启动容器 -> [docker start]

3.5 重启容器 -> [docker restart]

3.6 停止容器 -> [docker stop]

3.7 删除容器 -> [docker rm]

3.8 强制停止容器 -> [docker kill]

3.9 删除多个容器 -> [docker rm]

3.10 从容器内拷贝文档到主机

3.11 查看日志 -> [docker logs]

3.12 查看容器进程 -> [docker top]

3.13 查看容器详情 -> [docker inspect]

3.14 进入运行容器 -> [docker exec/attach]


1、帮助命令

1.1 Docker版本信息 -> [docker version]

docker version

[root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker version
 Client: Docker Engine - Community
  Version:           19.03.12
  API version:       1.40
  Go version:        go1.13.10
  Git commit:        48a66213fe
  Built:             Mon Jun 22 15:46:54 2020
  OS/Arch:           linux/amd64
  Experimental:      false
 
 Server: Docker Engine - Community
  Engine:
   Version:          19.03.12
   API version:      1.40 (minimum version 1.12)
   Go version:       go1.13.10
   Git commit:       48a66213fe
   Built:            Mon Jun 22 15:45:28 2020
   OS/Arch:          linux/amd64
   Experimental:     false
  containerd:
   Version:          1.2.6
   GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
  runc:
   Version:          1.0.0-rc8
   GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
  docker-init:
   Version:          0.18.0
   GitCommit:        fec3683

1.2 查看Docker配置信息 -> [docker info]

docker info

[root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker info
 Client:
  Debug Mode: false
 
 Server:
  Containers: 24
   Running: 1
   Paused: 0
   Stopped: 23
  Images: 13
  Server Version: 19.03.12
  Storage Driver: overlay2
   Backing Filesystem: xfs
   Supports d_type: true
   Native Overlay Diff: true
  Logging Driver: json-file
  Cgroup Driver: cgroupfs
  Plugins:
   Volume: local
   Network: bridge host ipvlan macvlan null overlay
   Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
  Swarm: inactive
  Runtimes: runc
  Default Runtime: runc
  Init Binary: docker-init
  containerd version: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
  runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f
  init version: fec3683
  Security Options:
   seccomp
    Profile: default
  Kernel Version: 4.18.0-147.5.1.el8_1.x86_64
  Operating System: CentOS Linux 8 (Core)
  OSType: linux
  Architecture: x86_64
  CPUs: 1
  Total Memory: 1.787GiB
  Name: iZ2zef4zu0mvk0hhwa0il1Z
  ID: 7ZF7:ME2Q:EDEG:P5AS:VVVJ:L6DY:L7U5:7GAQ:WBF3:KYC7:YLIM:HHQ7
  Docker Root Dir: /var/lib/docker
  Debug Mode: false
  Username: james821
  Registry: https://index.docker.io/v1/
  Labels:
  Experimental: false
  Insecure Registries:
   127.0.0.0/8
  Live Restore Enabled: false

1.3 Docker 帮助命令 -> [docker --help]

docker --help

2、镜像命令

2.1 查看所有镜像IMAGES -> [docker images]

docker images [options]

options:

  • -a: 列出所有镜像
  • -q: 只显示镜像ID
  • --digests: 显示摘要信息
  • --no-trunc: 不要截断输出

 

[root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker images -a
 REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
 <none>                     <none>              261639c2587f        24 hours ago        510MB
 <none>                     <none>              ec898c16b323        24 hours ago        510MB
 dockerfile-demo            latest              ca4d859482c1        24 hours ago        527MB
 <none>                     <none>              3ba778f9a9a7        24 hours ago        527MB

2.2 查找 [远程] 镜像 -> [docker search]

docker search 镜像名

[root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker search tomcat
 NAME                          DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
 tomcat                        Apache Tomcat is an open source implementati…   2780                [OK]                
 tomee                         Apache TomEE is an all-Apache Java EE certif…   79                  [OK]                
 dordoka/tomcat                Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base…   54                                      [OK]
 bitnami/tomcat                Bitnami Tomcat Docker Image                     35                                      [OK]
 kubeguide/tomcat-app          Tomcat image for Chapter 1                      29                                      
 consol/tomcat-7.0             Tomcat 7.0.57, 8080, "admin/admin"              17                                      [OK]
 cloudesire/tomcat             Tomcat server, 6/7/8                            15                                      [OK]
 aallam/tomcat-mysql           Debian, Oracle JDK, Tomcat & MySQL              13                                      [OK]
 arm32v7/tomcat                Apache Tomcat is an open source implementati…   10                                      
 rightctrl/tomcat              CentOS , Oracle Java, tomcat application ssl…   6                                       [OK]

2.3 获取远程镜像 -> [docker pull]

docker pull 镜像名
docker pull docker.io/tomcat

2.4 删除镜像 -> [docker rmi]

docker rmi -f 镜像id 删除单个镜像

docker rmi 镜像名1:tag1 镜像名2:tag2 删除多个镜像

docker rmi -f $(docker images -q) 删除全部镜像

2.5 运行镜像 -> [docker run]

docker run image

2.6 发布镜像 -> [docker push]

docker push

3、容器命令

3.1 新建并启动 -> [docker run]

docker run [options] image [command] [args]
docker run -d --name -p 9090:8080 my-tomcat tomcat

options:
--name 为容器指定名称
-d 后台运行容器
-i 交互方式运行
-t 启动一个伪终端
-p 指定端口映射
-P 随机端口映射

3.2 列出所有容器 -> [docker ps]

docker ps [options]

options:
-a: 列出所有正在运行的容器 + 历史运行过的。不带参数只能看到当前正在运行的容器,无法看到存在但未运行的容器。
-l: 显示最近创建的容器
-n: 显示最近N个创建的容器
-q: 只显示容器id

3.3 退出容器 -> [exit]

exit:退出并停止容器

ctrl + p + q:退出不停止容器

3.4 启动容器 -> [docker start]

docker start 容器id or 容器名称

使用docker ps -a查看已经存在但未运行的容器,然后使用docker start启动。

[root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker ps -a
 CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
 b82ee9ed295b        tomcat              "catalina.sh run"        29 hours ago        Exited (143) 6 hours ago                        dazzling_leakey
 55e2d8c1884b        tomcat              "catalina.sh run"        29 hours ago        Created                     8080/tcp            friendly_mahavira
 
 [root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker start b82ee9ed295b
 b82ee9ed295b
 
 [root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker ps
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
 b82ee9ed295b        tomcat              "catalina.sh run"   29 hours ago        Up 3 seconds        8080/tcp            dazzling_leakey

3.5 重启容器 -> [docker restart]

docker restart 容器id or 容器名称

3.6 停止容器 -> [docker stop]

docker stop 容器id or 容器名称

[root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker ps
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
 b82ee9ed295b        tomcat              "catalina.sh run"   29 hours ago        Up 3 seconds        8080/tcp            dazzling_leakey
 
 [root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker stop b82ee9ed295b
 b82ee9ed295b
 
 [root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker ps
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

3.7 删除容器 -> [docker rm]

docker rm 容器id

[root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker ps -a 
 CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS               NAMES
 a4c9f40f2088        hello-world         "/hello"                 13 days ago         Exited (0) 6 hours ago                            nostalgic_johnson
 
 [root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker rm a4c9f40f2088
 a4c9f40f2088
 
 [root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker ps -a
 CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS               NAMES

3.8 强制停止容器 -> [docker kill]

docker kill 容器id or 容器名称

[root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker ps
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
 caef3377f9a8        tomcat              "catalina.sh run"   4 seconds ago       Up 3 seconds        8080/tcp            elastic_herschel
 
 [root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker kill caef3377f9a8
 caef3377f9a8

3.9 删除多个容器 -> [docker rm]

docker rm -f $(docker ps -a -q)

docker ps -a -q | xargs docker rm

3.10 从容器内拷贝文档到主机

docker cp 容器id:容器内路径:主机路径

3.11 查看日志 -> [docker logs]

docker logs [OPTIONS] CONTAINER

options:
--tail 从尾部日志开始查看
-t 时间戳
-f 实时输出日志

3.12 查看容器进程 -> [docker top]

docker top 容器id

docker top 3fbf4399c64b 查看容器进程

docker top 3fbf4399c64b | grep java 结合管道命令

[root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker ps
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
 fb379c533eca        tomcat              "catalina.sh run"   3 seconds ago       Up 2 seconds        8080/tcp            tomcat02
 
 
 [root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker top fb379c533eca
 UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
 root                84873               84857               27                  16:37               ?                   00:00:02            /usr/local/openjdk-11/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
 
 
 [root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker top tomcat02 | grep java
 root                84873               84857               0                   16:37               ?                   00:00:02            /usr/local/openjdk-11/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
 [root@iZ2zef4zu0mvk0hhwa0il1Z ~]#

3.13 查看容器详情 -> [docker inspect]

docker inspect 容器id

[root@iZ2zef4zu0mvk0hhwa0il1Z ~]# docker inspect tomcat02
 [
     {
         "Id": "fb379c533ecafea9f13ab7fff79eead54554ad86cf56049364d7d230ae7b6854",
         "Created": "2020-07-18T08:37:38.279009488Z",
         "Path": "catalina.sh",
         "Args": [
             "run"
         ],
         "State": {
             "Status": "running",
             "Running": true,
             "Paused": false,
             "Restarting": false,
             "OOMKilled": false,
             "Dead": false,
             "Pid": 84873,
             "ExitCode": 0,
             "Error": "",
             "StartedAt": "2020-07-18T08:37:38.845959759Z",
             "FinishedAt": "0001-01-01T00:00:00Z"
         },
         "Image": "sha256:2eb5a120304e4e7ab6c901e2ca3ed7ea50e57cd4756818f847b1eaa4d34c3881",
         "ResolvConfPath": "/var/lib/docker/containers/fb379c533ecafea9f13ab7fff79eead54554ad86cf56049364d7d230ae7b6854/resolv.conf",
         "HostnamePath": "/var/lib/docker/containers/fb379c533ecafea9f13ab7fff79eead54554ad86cf56049364d7d230ae7b6854/hostname",
         "HostsPath": "/var/lib/docker/containers/fb379c533ecafea9f13ab7fff79eead54554ad86cf56049364d7d230ae7b6854/hosts",
         "LogPath": "/var/lib/docker/containers/fb379c533ecafea9f13ab7fff79eead54554ad86cf56049364d7d230ae7b6854/fb379c533ecafea9f13ab7fff79eead545

3.14 进入运行容器 -> [docker exec/attach]

docker exec -it 容器id bash 产生新的进程

docker attach 容器id 进入容器,不产生新的进程