Docker常用命令小结


前言

本篇文章仅为本人做笔记使用,命令是从菜鸟教程上复制的方便查询,下面还会贴上一些命令运行的代码片段。之前一直在用简书,但是有点蛋疼的就是简书markdown语法不支持html,没办法使用锚点跳转。
命令的详细地址最好还是参考docker 的官方文档地址:https://docs.docker.com/reference/


提示:以下是本篇文章正文内容,下面案例可供参考

一、Docker环境信息

命令说明其他参数
docker info显示 Docker 系统信息,包括镜像和容器数。。
docker version显示 Docker 版本信息。-f :指定返回值的模板文件。
docker 命令 --help帮助命令,显示命令相关参数信息

二、镜像命令

1.镜像仓库

命令说明其他参数
docker login登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub-u :登陆的用户名
-p :登陆的密码
docker logout登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker pull从镜像仓库中拉取或者更新指定镜像-a :拉取所有 tagged 镜像
--disable-content-trust :忽略镜像的校验,默认开启
docker push将本地的镜像上传到镜像仓库,要先登陆到镜像仓库--disable-content-trust :忽略镜像的校验,默认开启
docker search从Docker Hub查找镜像--automated :只列出 automated build类型的镜像;
--no-trunc :显示完整的镜像描述;
-s :列出收藏数不小于指定值的镜像。

2.本地镜像

命令说明其他参数
docker images列出本地镜-a:列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
--digests :显示镜像的摘要信息;
-f :显示满足条件的镜像;
--format :指定返回值的模板文件;
--no-trunc :显示完整的镜像信息;
-q :只显示镜像ID。
docker rmi删除本地一个或多少镜像-f :强制删除;
--no-prune :不移除该镜像的过程镜像,默认移除;
docker tag标记本地镜像,将其归入某一仓库docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
docker build用于使用 Dockerfile 创建镜像--build-arg=[] :设置镜像创建时的变量;
--cpu-shares :设置 cpu 使用权重;
--cpu-period :限制 CPU CFS周期;
--cpu-quota :限制 CPU CFS配额;
--cpuset-cpus :指定使用的CPU id;
--cpuset-mems :指定使用的内存 id;
--disable-content-trust :忽略校验,默认开启;
-f :指定要使用的Dockerfile路径;
--force-rm :设置镜像过程中删除中间容器;
--isolation :使用容器隔离技术;
--label=[] :设置镜像使用的元数据;
-m :设置内存最大值;
--memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;
--no-cache :创建镜像的过程不使用缓存;
--pull :尝试去更新镜像的新版本;
--quiet, -q :安静模式,成功后只输出镜像 ID;
--rm :设置镜像成功后删除中间容器;
--shm-size :设置/dev/shm的大小,默认值是64M;
--ulimit:Ulimit配置。
--squash :将 Dockerfile 中所有的操作压缩为一层。
--tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
--network: 默认 default。在构建期间设置RUN指令的网络模式
docker history查看指定镜像的创建历史-H :以可读的格式打印镜像大小和日期,默认为true;
--no-trunc :显示完整的提交记录;
-q :仅列出提交记录ID。
docker save将指定镜像保存成 tar 归档文件-o :输出到的文件。
docker load导入使用 docker save命令导出的镜像。--input , -i: 指定导入的文件,代替 STDIN。
--quiet , -q : 精简输出信息。
docker import从归档文件中创建镜像-c :应用docker 指令创建镜像;
-m :提交时的说明文字;

三、容器命令

1.容器生命周期管理

命令说明其他参数
docker run创建一个新的容器并运行一个命令-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
--volume , -v: 绑定一个卷
docker start启动一个或多个已经被停止的容器
docker stop停止一个运行中的容器
docker restart重启容器
docker kill杀掉一个运行中的容器。-s :向容器发送一个信号
docker rm删除一个或多个容器。-f :通过 SIGKILL 信号强制删除一个运行中的容器。
-l :移除容器间的网络连接,而非容器本身。
-v :删除与容器关联的卷。
docker pause暂停容器中所有的进程。
docker unpause恢复容器中所有的进程。
docker create创建一个新的容器但不启动它
docker exec在运行的容器中执行命令-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端

2.容器操作

命令说明其他参数
docker ps列出容器-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
docker inspect获取容器/镜像的元数据。-f :指定返回值的模板文件。
-s :显示总的文件大小。
--type :为指定类型返回JSON。
docker top查看容器中运行的进程信息,支持 ps 命令参数。容器运行时不一定有/bin/bash终端来交互执行top命令,而且容器还不一定有top命令,可以使用docker top来实现查看container中正在运行的进程。
docker attach连接到正在运行中的容器要attach上去的容器必须正在运行,可以同时连接上同一个container来共享屏幕(与screen命令的attach类似)。官方文档中说attach后可以通过CTRL-C来detach,但实际上经过我的测试,如果container当前在运行bash,CTRL-C自然是当前行的输入,没有退出;如果container当前正在前台运行进程,如输出nginx的access.log日志,CTRL-C不仅会导致退出容器,而且还stop了。这不是我们想要的,detach的意思按理应该是脱离容器终端,但容器依然运行。好在attach是可以带上–sig-proxy=false来确保CTRL-D或CTRL-C不会关闭容器。
docker events从服务器获取实时事件-f :根据条件过滤事件;
--since :从指定的时间戳后显示所有事件;
--until :流水时间显示到指定的时间为止;
docker logs获取容器的日志-f : 跟踪日志输出
--since :显示某个开始时间的所有日志
-t : 显示时间戳
--tail :仅列出最新N条容器日志
docker wait阻塞运行直到容器停止,然后打印出它的退出代码。
docker export将文件系统作为一个tar归档文件导出到STDOUT
docker port列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口。

3.容器rootfs命令

命令说明其他参数
docker commit从容器创建一个新的镜像。-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m:提交时的说明文字;
-p :在commit时,将容器暂停。
docker cp用于容器与主机之间的数据拷贝。-L :保持源目标中的链接
docker diff检查容器里文件结构的更改。

四、以下为命令测试

docker目前还只是学习了简单命令,这里没有跑过的命令后续学习会再补充。。。

Ⅰ.镜像命令

1.docker info

信息过多这里就不展示代码了,详细信息参考:docker info命令的使用和返回结果描述


2.docker version

一般在刚安装完成后运行,查看是否安装成功。参考地址

[root@VM-0-12-centos ~]# docker version -f '{{.Server.Version}}'
20.10.2
[root@VM-0-12-centos ~]# docker version -f '{{json .}}'
{"Client":{"Platform":{"Name":"Docker Engine - Community"},"Version":"20.10.1","ApiVersion":"1.41","DefaultAPIVersion":"1.41","GitCommit":"831ebea","GoVersion":"go1.13.15","Os":"linux","Arch":"amd64","BuildTime":"Tue Dec 15 04:37:17 2020","Context":"default","Experimental":true},"Server":{"Platform":{"Name":"Docker Engine - Community"},"Components":[{"Name":"Engine","Version":"20.10.2","Details":{"ApiVersion":"1.41","Arch":"amd64","BuildTime":"Mon Dec 28 16:16:13 2020","Experimental":"false","GitCommit":"8891c58","GoVersion":"go1.13.15","KernelVersion":"3.10.0-1127.19.1.el7.x86_64","MinAPIVersion":"1.12","Os":"linux"}},{"Name":"containerd","Version":"1.4.3","Details":{"GitCommit":"269548fa27e0089a8b8278fc4fc781d7f65a939b"}},{"Name":"runc","Version":"1.0.0-rc92","Details":{"GitCommit":"ff819c7e9184c13b7c2607fe6c30ae19403a7aff"}},{"Name":"docker-init","Version":"0.19.0","Details":{"GitCommit":"de40ad0"}}],"Version":"20.10.2","ApiVersion":"1.41","MinAPIVersion":"1.12","GitCommit":"8891c58","GoVersion":"go1.13.15","Os":"linux","Arch":"amd64","KernelVersion":"3.10.0-1127.19.1.el7.x86_64","BuildTime":"2020-12-28T16:16:13.000000000+00:00"}}
[root@VM-0-12-centos ~]# 

3.docker login


4.docker logout


5.docker pull

docker pull可以直接指定版本下载,不过需要注意的是版本号不要乱写,先在docker hub搜索查看该镜像存在的版本号
docker hub 查看版本号

[root@VM-0-12-centos ~]# docker pull mysql
Using default tag: latest			# 默认版本为最新版本
latest: Pulling from library/mysql
a076a628af6f: Already exists 
f6c208f3f991: Pull complete 		# 分层下载 联合文件系统
88a9455a9165: Pull complete 
406c9b8427c6: Pull complete 
7c88599c0b25: Pull complete 
25b5c6debdaf: Pull complete 
43a5816f1617: Pull complete 
69dd1fbf9190: Pull complete 
5346a60dcee8: Downloading   19.3MB
5346a60dcee8: Downloading  19.83MB
fd04d935b852: Download complete 
5346a60dcee8: Downloading  26.28MB
5346a60dcee8: Pull complete 
ef28da371fc9: Pull complete 
fd04d935b852: Pull complete 
050c49742ea2: Pull complete 
Digest: sha256:0fd2898dc1c946b34dceaccc3b80d38b1049285c1dab70df7480de62265d6213 #签名信息防伪标志
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest 		# 真实地址  docker pull mysql 等同于 docker pull docker.io/library/mysql:latest 
[root@VM-0-12-centos ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
a076a628af6f: Already exists 				# 有一部分之前下载最新版mysql的时候就已经下载了,不需要重复下载
f6c208f3f991: Already exists 
88a9455a9165: Already exists 
406c9b8427c6: Already exists 
7c88599c0b25: Already exists 
25b5c6debdaf: Already exists 
43a5816f1617: Already exists 
7065aaa2655f: Pull complete 
b4bc531db40f: Pull complete 
8c3e9d7c9815: Pull complete 
fadfb9734ed2: Pull complete 
Digest: sha256:e08834258fcc0efd01df358222333919df53d4a0d9b2a54da05b204b822e3b7b
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7
[root@VM-0-12-centos ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
mysql         5.7       cc8775c0fe94   47 hours ago    449MB
mysql         latest    d4c3cafb11d5   47 hours ago    545MB
php           latest    5146e2c2c4ac   2 days ago      422MB
centos        latest    300e315adb2f   5 weeks ago     209MB
hello-world   latest    bf756fb1ae65   12 months ago   13.3kB
[root@VM-0-12-centos ~]#

6.docker push


7.docker search

使用docker search 命令是会在 docker hub上去搜索镜像,命令行中搜索出来的结果就对应docker hub搜索结果
命令搜索结果

docker hub官网搜索结果

使用 --hlep 命令可以发现还有通过条件去筛选镜像。参考地址.

# 需要搜索的镜像 和 --filter 前后顺序不影响结果
docker search mysql --filter=STARS=3000   		# 搜索STARS大于3000的mysql镜像
docker search --filter is-automated=true mysql  # 搜索automated为true的mysql镜像
docker search --filter is-official=true mysql   # 搜索official为true的mysql镜像

--filter参数搜索示例


8.docker images

docker images 用于显示当前本地所有镜像,比较常用的可选项参数 -q 只显示id;-f 可用于筛选及格式化,可参考官方文档:参考地址

[root@VM-0-12-centos ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
mysql         latest    a347a5928046   3 weeks ago     545MB
centos        latest    300e315adb2f   5 weeks ago     209MB
hello-world   latest    bf756fb1ae65   12 months ago   13.3kB
[root@VM-0-12-centos ~]# docker images -q
a347a5928046
300e315adb2f
bf756fb1ae65
[root@VM-0-12-centos ~]#

9.docker rmi

docker rmi:删除镜像;
rm :代表删除;
i: 代表镜像 image;

[root@VM-0-12-centos ~]# docker rmi -f mysql #通过名称删除镜像 cc8775c0fe94
[root@VM-0-12-centos ~]# docker rmi -f cc8775c0fe94 #通过镜像id删除镜像 
[root@VM-0-12-centos ~]# docker rmi -f $(docker images -aq) #删除所有镜像 【可以配合命令使用(跑路专用命令,谨慎使用!)】

10.docker tag


11.docker build


12.docker history


13.docker save


14.docker load


15.docker import


Ⅱ.容器命令

有了镜像才能创建容器

1.docker run

参考地址

docker run [可选参数] IMAGE  #新建容器并启动
#可选参数
--name="Name"   容器名
-d 				后台运行方式(注意:使用-d的时候必须要有一个前台进程)
-it 			使用交互运行方式,进入容器查看内容
-p				指定容器端口
	-p 主机端口:容器端口(常用)
	-p ip:主机端口:容器端口
	-p 容器端口

容器退出命令

exit 			# 停止容器并退出
				# 使用 docker exec 命令进入容器,在使用 exit 容器不会停止(docker exec会新开一个进程修改不影响正在云心的进程)
				# docker attach 直接进入当前进程,如果使用exit会导致当前进程停止
ctrl + P + Q 	# 不停止容器并退出

2.docker start

启动容器

[root@VM-0-12-centos ~]# docker start 182c9fbdf892
182c9fbdf892
[root@VM-0-12-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES
182c9fbdf892   centos    "/bin/bash"   5 minutes ago   Up 2 seconds             silly_booth
[root@VM-0-12-centos ~]# 

3.docker stop

停止容器

[root@VM-0-12-centos ~]# docker stop 182c9fbdf892
182c9fbdf892
[root@VM-0-12-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@VM-0-12-centos ~]# 

4.docker restart

重启容器

[root@VM-0-12-centos ~]# docker restart 182c9fbdf892
182c9fbdf892
[root@VM-0-12-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS         PORTS     NAMES
182c9fbdf892   centos    "/bin/bash"   5 minutes ago   Up 2 seconds             silly_booth
[root@VM-0-12-centos ~]#

5.docker kill

杀死容器

[root@VM-0-12-centos ~]# docker kill 182c9fbdf892
182c9fbdf892
[root@VM-0-12-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@VM-0-12-centos ~]#

6.docker rm

删除容器,根据docker ps获取容器id删除容器
-f: 强制删除正在运行的容器

root@VM-0-12-centos ~]# docker rm 2bb22ae4e723 #无法删除正在运行的容器
Error response from daemon: You cannot remove a running container 2bb22ae4e7238dffeb366055bb536a027640f9297d720bb905ff0a14580b0d7c. Stop the container before attempting removal or force remove
[root@VM-0-12-centos ~]# docker rm -f 2bb22ae4e723  
2bb22ae4e723
[root@VM-0-12-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@VM-0-12-centos ~]# 

7.docker pause


8.docker unpause


9.docker create


10.docker exec

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]:在运行的容器中执行命令;
docker execdocker attach的区别:

docker exec 	# 进入容器后开启一个新的终端,操作都在这里(常用)
docker attach	# 进入容器正在进行的终端不会启动新的进程(注意不要轻易使用exit退出,会停止容器并退出)

[root@VM-0-12-centos ~]# docker exec -it 6c065e13f40b /bin/bash
[root@6c065e13f40b /]# exit
exit
[root@VM-0-12-centos ~]# docker ps 
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
6c065e13f40b   centos    "/bin/bash"   16 minutes ago   Up 24 seconds             trusting_bardeen
[root@VM-0-12-centos ~]# docker attach 6c065e13f40b
[root@6c065e13f40b /]# exit
exit
[root@VM-0-12-centos ~]# docker ps 
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@VM-0-12-centos ~]#

11.docker ps

docker ps: 列出当前正在运行的容器
docker ps -a: 列出当前正在运行的容器和已经关闭的容器
docker ps -n=1: 列出最近创建的n个容器。
docker ps -q: 只显示容器编号。
更多参数使用参考官网

[root@VM-0-12-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED      STATUS      PORTS     NAMES
2bb22ae4e723   centos    "/bin/bash"   8 days ago   Up 8 days             awesome_solomon
[root@VM-0-12-centos ~]# docker ps -a  # 列出曾经运行过的容器
CONTAINER ID   IMAGE          COMMAND                  CREATED              STATUS                          PORTS     NAMES
32f98138795d   centos         "/bin/bash"              About a minute ago   Exited (0) About a minute ago             vigorous_mccarthy
2bb22ae4e723   centos         "/bin/bash"              8 days ago           Up 8 days                                 awesome_solomon
cfedb6812dd3   centos         "/bin/bash"              8 days ago           Exited (0) 8 days ago                     unruffled_greider
c47ba7c9f0a0   centos         "/bin/bash"              8 days ago           Exited (0) 8 days ago                     nostalgic_ritchie
[root@VM-0-12-centos ~]# docker ps -a -n=1
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS                     PORTS     NAMES
32f98138795d   centos    "/bin/bash"   9 minutes ago   Exited (0) 9 minutes ago             vigorous_mccarthy
[root@VM-0-12-centos ~]# 

12.docker inspect

docker inspect [OPTIONS] NAME|ID [NAME|ID...]:获取容器/镜像的元数据。

[root@VM-0-12-centos ~]# docker inspect 8c836d276b6f
[
    {
        "Id": "8c836d276b6f4f2be5832809c6ac6605b97e9dcef40eedac14a62c840e41b7aa",
        "Created": "2021-01-15T08:29:49.002037386Z",
        "Path": "/bin/bash",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 11470,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2021-01-15T08:29:49.369968335Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:300e315adb2f96afe5f0b2780b87f28ae95231fe3bdd1e16b9ba606307728f55",
        "ResolvConfPath": "/var/lib/docker/containers/8c836d276b6f4f2be5832809c6ac6605b97e9dcef40eedac14a62c840e41b7aa/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/8c836d276b6f4f2be5832809c6ac6605b97e9dcef40eedac14a62c840e41b7aa/hostname",
        "HostsPath": "/var/lib/docker/containers/8c836d276b6f4f2be5832809c6ac6605b97e9dcef40eedac14a62c840e41b7aa/hosts",
        "LogPath": "/var/lib/docker/containers/8c836d276b6f4f2be5832809c6ac6605b97e9dcef40eedac14a62c840e41b7aa/8c836d276b6f4f2be5832809c6ac6605b97e9dcef40eedac14a62c840e41b7aa-json.log",
        "Name": "/sleepy_benz",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "host",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "KernelMemory": 0,
            "KernelMemoryTCP": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/ec58a12336f1f6f38d23a5a1b81a9995b20674b697576f95b57e0cfb62462f21-init/diff:/var/lib/docker/overlay2/ac9d81ff8751a39f91425e2bf8dc1c5d482729a670908964ba3bedaadf93359f/diff",
                "MergedDir": "/var/lib/docker/overlay2/ec58a12336f1f6f38d23a5a1b81a9995b20674b697576f95b57e0cfb62462f21/merged",
                "UpperDir": "/var/lib/docker/overlay2/ec58a12336f1f6f38d23a5a1b81a9995b20674b697576f95b57e0cfb62462f21/diff",
                "WorkDir": "/var/lib/docker/overlay2/ec58a12336f1f6f38d23a5a1b81a9995b20674b697576f95b57e0cfb62462f21/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [],
        "Config": {
            "Hostname": "8c836d276b6f",
            "Domainname": "",
            "User": "",
            "AttachStdin": true,
            "AttachStdout": true,
            "AttachStderr": true,
            "Tty": true,
            "OpenStdin": true,
            "StdinOnce": true,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/bash"
            ],
            "Image": "centos",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "org.label-schema.build-date": "20201204",
                "org.label-schema.license": "GPLv2",
                "org.label-schema.name": "CentOS Base Image",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vendor": "CentOS"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "fca0a3b4927c901a00a95d520e1c5b2ae306d8649a3494a72ca6c92e2bfb1419",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/fca0a3b4927c",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "5e21ecaeacc5b084039a1e58d643b6a7526ffbd238e0350089c511c1f8f4e645",
            "Gateway": "172.18.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.18.0.2",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:12:00:02",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "9efeeeb617ca189cbb8e979603d81ad2b39e367c044f397cba41a88c43ce6e38",
                    "EndpointID": "5e21ecaeacc5b084039a1e58d643b6a7526ffbd238e0350089c511c1f8f4e645",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:12:00:02",
                    "DriverOpts": null
                }
            }
        }
    }
]
[root@VM-0-12-centos ~]# 

13.docker top

docker top CONTAINER [ps OPTIONS]:查看容器中运行的进程信息,支持 ps 命令参数

[root@VM-0-12-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
8c836d276b6f   centos    "/bin/bash"   18 seconds ago   Up 18 seconds             sleepy_benz
[root@VM-0-12-centos ~]# docker top 8c836d276b6f
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                11470               11449               0                   16:29               pts/0               00:00:00            /bin/bash
[root@VM-0-12-centos ~]# docker top $(docker ps -q)
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                11470               11449               0                   16:29               pts/0               00:00:00            /bin/bash
[root@VM-0-12-centos ~]# 

14.docker attach

docker attachdocker exec有点像,不同点比较请看 docker exec

[root@VM-0-12-centos ~]# docker attach 6c065e13f40b
[root@6c065e13f40b /]# 

15.docker events


16.docker logs



17.docker wait


18.docker export


19.docker port


20.docker commit


21.docker cp

docker cp : 用于容器与主机之间的数据拷贝。命令在容器外使用

[root@VM-0-12-centos ~]# ls
test.txt
[root@VM-0-12-centos ~]# pwd
/root
[root@VM-0-12-centos ~]# docker cp /root/test.txt 6c065e13f40b:/home
[root@VM-0-12-centos ~]# docker attach 6c065e13f40b
[root@6c065e13f40b /]# cd home/
[root@6c065e13f40b home]# ls
test.txt
[root@6c065e13f40b home]# touch test2.txt
[root@6c065e13f40b home]# ls
test.txt  test2.txt
[root@6c065e13f40b home]# read escape sequence
[root@VM-0-12-centos ~]# docker cp 6c065e13f40b:/home/test2.txt /root
[root@VM-0-12-centos ~]# ls
test2.txt  test.txt
[root@VM-0-12-centos ~]#

22.docker diff


总结

本篇文章仅供个人学习使用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值