目录
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 进入容器,不产生新的进程