阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

深入浅出Docker(二):Docker命令行探秘

456次阅读
没有评论

共计 13364 个字符,预计需要花费 34 分钟才能阅读完成。

深入浅出 Docker(二):Docker 命令行探秘

1. Docker 命令行

Docker 官方为了让用户快速了解 Docker,提供了一个交互式教程,旨在帮助用户掌握 Docker 命令行的使用方法。但是由于 Docker 技术的快速发展,此交互式教程已经无法满足 Docker 用户的实际使用需求,所以让我们一起开始一次真正的命令行学习之旅。首先,Docker 的命令清单可以通过运行 docker,或者 docker help 命令得到:

$ sudo docker

深入浅出 Docker(二):Docker 命令行探秘

在 Docker 容器技术不断演化的过程中,Docker 的子命令已经达到 34 个之多,其中核心子命令 (例如:run) 还会有复杂的参数配置。笔者通过结合功能和应用场景方面的考虑,把命令行划分为 4 个部分,方便我们快速概览 Docker 命令行的组成结构:

功能划分

命令

环境信息相关

  1. info
  2. version

系统运维相关

  1. attach
  2. build
  3. commit
  4. cp
  5. diff
  6. export
  7. images
  8. import / save / load
  9. inspect
  10. kill
  11. port
  12. pause / unpause
  13. ps
  14. rm
  15. rmi
  16. run
  17. start / stop / restart
  18. tag
  19. top
  20. wait

日志信息相关

  1. events
  2. history
  3. logs

Docker Hub 服务相关

  1. login
  2. pull / push
  3. search

1.1 参数约定

单个字符的参数可以放在一起组合配置,例如

  1. docker run t i name test busybox sh

可以用这样的方式等同:

  1. docker run ti name test busybox sh

1.2 Boolean

Boolean 参数形式如:-d=false。注意,当你声明这个 Boolean 参数时,比如 docker run -d=true,它将直接把启动的 Container 挂起放在后台运行。

1.3 字符串和数字

参数如 –name=“”定义一个字符串,它仅能被定义一次。同类型的如 -c=0 定义一个数字,它也只能被定义一次。

1.4 后台进程

Docker 后台进程是一个常驻后台的系统进程,值得注意的是 Docker 使用同一个文件来支持客户端和后台进程,其中角色切换通过 - d 来实现。这个后台进程是用来管理容器的,使用 Docker –help 可以得到更详细的功能参数配置, 如下图:

深入浅出 Docker(二):Docker 命令行探秘

CentOS 6/ 7 系列安装 Docker http://www.linuxidc.com/Linux/2014-07/104768.htm

Docker 的搭建 Gitlab CI 全过程详解 http://www.linuxidc.com/Linux/2013-12/93537.htm

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm

在 Docker 中使用 MySQL http://www.linuxidc.com/Linux/2014-01/95354.htm

在 Ubuntu Trusty 14.04 (LTS) (64-bit)安装 Docker http://www.linuxidc.com/Linux/2014-10/108184.htm

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm

Ubuntu 14.04 安装 Docker  http://www.linuxidc.com/linux/2014-08/105656.htm

阿里云 CentOS 6.5 模板上安装 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm

Docker 后台进程参数清单如下表

参数

解释

–api-enable-cors=false

开放远程 API 调用的 CORS 头信息。这个接口开关对想进行二次开发的上层应用提供了支持。

-b, –bridge=””

挂载已经存在的网桥设备到 Docker 容器里。注意,使用 none 可以停用容器里的网络。

–bip=””

使用 CIDR 地址来设定网络桥的 IP。注意,此参数和 -b 不能一起使用。

-D, –debug=false

开启 Debug 模式。例如:docker -d -D

-d, –daemon=false

开启 Daemon 模式。

–dns=[]

强制容器使用 DNS 服务器。例如:docker -d –dns 8.8.8.8

–dns-search=[]

强制容器使用指定的 DNS 搜索域名。例如:docker -d –dns-search example.com

-e, –exec-driver=”native”

强制容器使用指定的运行时驱动。例如:docker -d -e lxc

-G, –group=”docker”

在后台运行模式下,赋予指定的 Group 到相应的 unix socket 上。注意,当此参数 –group 赋予空字符串时,将去除组信息。

-g, –graph=”/var/lib/docker”

配置 Docker 运行时根目录

-H, –host=[]

在后台模式下指定 socket 绑定,可以绑定一个或多个 tcp://host:port, unix:///path/to/socket, fd://* 或 fd://socketfd。例如:

$ docker -H tcp://0.0.0.0:2375 ps 或者

$ export DOCKER_HOST=”tcp://0.0.0.0:2375″
$ docker ps

–icc=true

启用内联容器的通信。

–ip=”0.0.0.0″

容器绑定 IP 时使用的默认 IP 地址

–ip-forward=true

启动容器的 net.ipv4.ip_forward

–iptables=true

启动 Docker 容器自定义的 iptable 规则

–mtu=0

设置容器网络的 MTU 值,如果没有这个参数,选用默认 route MTU,如果没有默认 route,就设置成常量值 1500。

-p, –pidfile=”/var/run/docker.pid”

后台进程 PID 文件路径。

-r, –restart=true

重启之前运行中的容器

-s, –storage-driver=””

强制容器运行时使用指定的存储驱动,例如, 指定使用 devicemapper, 可以这样:

docker -d -s devicemapper

–selinux-enabled=false

启用 selinux 支持

–storage-opt=[]

配置存储驱动的参数

–tls=false

启动 TLS 认证开关

–tlscacert=”/Users/dxiao/.docker/ca.pem”

通过 CA 认证过的的 certificate 文件路径

–tlscert=”/Users/dxiao/.docker/cert.pem”

TLS 的 certificate 文件路径

–tlskey=”/Users/dxiao/.docker/key.pem”

TLS 的 key 文件路径

–tlsverify=false

使用 TLS 并做后台进程与客户端通讯的验证

-v, –version=false

显示版本信息

注意,其中带有[] 的启动参数可以指定多次,例如

  1. $ docker run a stdin a stdout a stderr i t ubuntu /bin/bash

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-12/110917p2.htm

2. Docker 命令行探秘

2.1 环境信息相关

info

使用方法:docker info

例子:

  1. [Fedora@dockerdevelcli docker]$ sudo docker D info
  2. Containers:0
  3. Images:32
  4. StorageDriver: devicemapper
  5. PoolName: docker252:1130159pool
  6. Data file:/var/lib/docker/devicemapper/devicemapper/data
  7. Metadata file:/var/lib/docker/devicemapper/devicemapper/metadata
  8. DataSpaceUsed:1616.9Mb
  9. DataSpaceTotal:102400.0Mb
  10. MetadataSpaceUsed:2.4Mb
  11. MetadataSpaceTotal:2048.0Mb
  12. ExecutionDriver:native0.2
  13. KernelVersion:3.11.10301.fc20.x86_64
  14. Debug mode (server):false
  15. Debug mode (client):true
  16. Fds:11
  17. Goroutines:14
  18. EventsListeners:0
  19. Init SHA1:2c5adb59737b8a01fa3fb968519a43fe140bc9c9
  20. InitPath:/usr/libexec/docker/dockerinit
  21. Sockets:[fd://]

使用说明:

这个命令在开发者报告 Bug 时会非常有用,结合 docker vesion 一起,可以随时使用这个命令把本地的配置信息提供出来,方便 Docker 的开发者快速定位问题。

version

使用方法:docker version

使用说明:

显示 Docker 的版本号,API 版本号,Git commit,Docker 客户端和后台进程的 Go 版本号。

2.2 系统运维相关

attach

使用方法:docker attach [OPTIONS] CONTAINER

例子:

  1. $ ID=$(sudo docker run d Ubuntu /usr/bin/top b)
  2. $ sudo docker attach $ID
  3. top 17:21:49 up 5:53,0 users, load average:0.63,1.15,0.78
  4. Tasks:1 total,1 running,0 sleeping,0 stopped,0 zombie
  5. %Cpu(s):1.0 us,0.7 sy,0.0 ni,97.7 id,0.7 wa,0.0 hi,0.0 si,0.0 st
  6. KiBMem:2051644 total,723700 used,1327944 free,33032 buffers
  7. KiBSwap:0 total,0 used,0 free.565836 cached Mem
  8.  
  9. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  10. 1 root 2001974812801008 R 0.00.10:00.04 top
  11. $ sudo docker stop $ID

使用说明:

使用这个命令可以挂载正在后台运行的容器,在开发应用的过程中运用这个命令可以随时观察容器內进程的运行状况。开发者在开发应用的场景中,这个命令是一个非常有用的命令。

build

使用方法:docker build [OPTIONS] PATH | URL | –

例子:

  1. $ docker build .
  2. Uploading context 18.829 MB
  3. Uploading context
  4. Step0: FROM busybox
  5. —>769b9341d937
  6. Step1: CMD echo Hello world
  7. —>Using cache
  8. —>99cc1ad10469
  9. Successfully built 99cc1ad10469

使用说明:

这个命令是从源码构建新 Image 的命令。因为 Image 是分层的,最关键的 Base Image 是如何构建的是用户比较关心的,Docker 官方文档给出了构建方法,请参考这里。

commit

使用方法:docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

例子:

  1. $ sudo docker ps
  2. ID IMAGE COMMAND CREATED STATUS PORTS
  3. c3f279d17e0a ubuntu:12.04/bin/bash 7 days ago Up25 hours
  4. 197387f1b436 ubuntu:12.04/bin/bash 7 days ago Up25 hours
  5. $ docker commit c3f279d17e0a SvenDowideit/testimage:version3
  6. f5283438590d
  7. $ docker images | head
  8. REPOSITORY TAG ID CREATED VIRTUAL SIZE
  9. SvenDowideit/testimage version3 f5283438590d 16 seconds ago 335.7 MB

使用说明:

这个命令的用处在于把有修改的 container 提交成新的 Image,然后导出此 Imange 分发给其他场景中调试使用。Docker 官方的建议是,当你在调试完 Image 的问题后,应该写一个新的 Dockerfile 文件来维护此 Image。commit 命令仅是一个临时创建 Imange 的辅助命令。

cp

使用方法:cp CONTAINER:PATH HOSTPATH

使用说明:

使用 cp 可以把容器內的文件复制到 Host 主机上。这个命令在开发者开发应用的场景下,会需要把运行程序产生的结果复制出来的需求,在这个情况下就可以使用这个 cp 命令。

diff

使用方法:docker diff CONTAINER

例子:

  1. $ sudo docker diff 7bb0e258aefe
  2.  
  3. C /dev
  4. A /dev/kmsg
  5. C /etc
  6. A /etc/mtab
  7. A /go
  8. A /go/src
  9. A /go/src/github.com
  10. A /go/src/github.com/dotcloud
  11. ….

使用说明:

diff 会列出 3 种容器内文件状态变化(A – Add, D – Delete, C – Change)的列表清单。构建 Image 的过程中需要的调试指令。

export

使用方法:docker export CONTAINER

例子:

  1. $ sudo docker export red_panda > latest.tar

使用说明:

把容器系统文件打包并导出来,方便分发给其他场景使用。

images

使用方法:docker images [OPTIONS] [NAME]

例子:

  1. $ sudo docker images | head
  2. REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
  3. <none><none>77af4d6b991319 hours ago 1.089 GB
  4. committest latest b6fa739cedf5 19 hours ago 1.089 GB
  5. <none><none>78a85c484f7119 hours ago 1.089 GB
  6. $ docker latest 30557a29d5ab20 hours ago 1.089 GB
  7. <none><none>0124422dd9f920 hours ago 1.089 GB
  8. <none><none>18ad6fad340222 hours ago 1.082 GB
  9. <none><none> f9f1e26352f0 23 hours ago 1.089 GB
  10. tryout latest 2629d1fa0b8123 hours ago 131.5 MB
  11. <none><none>5ed6274db6ce24 hours ago 1.089 GB

使用说明:

Docker Image 是多层结构的,默认只显示最顶层的 Image。不显示的中间层默认是为了增加可复用性、减少磁盘使用空间,加快 build 构建的速度的功能,一般用户不需要关心这个细节。

import / save / load

使用方法:

  1. docker import URL|-[REPOSITORY[:TAG]]
  2. docker save IMAGE
  3. docker load

使用说明:

这一组命令是系统运维里非常关键的命令。加载 (两种方法: import, load),导出(一种方法: save) 容器系统文件。

inspect

使用方法:

  1. docker inspect CONTAINER|IMAGE [CONTAINER|IMAGE…]

例子:

  1. $ sudo docker inspect format=‘{{.NetworkSettings.IPAddress}}’ $INSTANCE_ID

使用说明:

查看容器运行时详细信息的命令。了解一个 Image 或者 Container 的完整构建信息就可以通过这个命令实现。

kill

使用方法:

  1. docker kill [OPTIONS] CONTAINER [CONTAINER…]

使用说明:

杀掉容器的进程。

port

使用方法:

  1. docker port CONTAINER PRIVATE_PORT

使用说明:

打印出 Host 主机端口与容器暴露出的端口的 NAT 映射关系

pause / unpause

使用方法:

  1. docker pause CONTAINER

使用说明:

使用 cgroup 的 freezer 顺序暂停、恢复容器里的所有进程。详细 freezer 的特性,请参考官方文档。

ps

使用方法:

  1. docker ps [OPTIONS]

例子:

  1. $ docker ps
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. 4c01db0b339c ubuntu:12.04 bash 17 seconds ago Up16 seconds webapp
  4. d7886598dbe2 crosbymichael/redis:latest /redisserver dir 33 minutes ago Up33 minutes 6379/tcp redis,webapp/db

使用说明:

docker ps 打印出正在运行的容器,docker ps - a 打印出所有运行过的容器。

rm

使用方法:

  1. docker rm [OPTIONS] CONTAINER [CONTAINER…]

例子:

  1. $ sudo docker rm /redis
  2. /redis

使用说明:

删除指定的容器。

rmi

使用方法:

  1. docker rmi IMAGE [IMAGE…]

例子:

  1. $ sudo docker images
  2. REPOSITORY TAG IMAGE ID CREATED SIZE
  3. test1 latest fd484f19954f 23 seconds ago 7 B (virtual4.964 MB)
  4. test latest fd484f19954f 23 seconds ago 7 B (virtual4.964 MB)
  5. test2 latest fd484f19954f 23 seconds ago 7 B (virtual4.964 MB)
  6.  
  7. $ sudo docker rmi fd484f19954f
  8. Error:Conflict, cannot delete image fd484f19954f because it is tagged in multiple repositories
  9. 2013/12/1105:47:16Error: failed to remove one or more images
  10.  
  11. $ sudo docker rmi test1
  12. Untagged: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8
  13.  
  14. $ sudo docker rmi test2
  15. Untagged: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8
  16.  
  17. $ sudo docker images
  18. REPOSITORY TAG IMAGE ID CREATED SIZE
  19. test latest fd484f19954f 23 seconds ago 7 B (virtual4.964 MB)
  20.  
  21. $ sudo docker rmi test
  22. Untagged: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8
  23. Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8

使用说明:

指定删除 Image 文件。

run

使用方法:

  1. docker run [OPTIONS] IMAGE [COMMAND][ARG…]

例子:

  1. $ sudo docker run cidfile /tmp/docker_test.cid ubuntu echo “test”

使用说明:

这个命令是核心命令,可以配置的参数多达 28 个参数。详细的解释可以通过 docker run –help 列出。官方文档中提到的 Issue 2702:”lxc-start: Permission denied – failed to mount” could indicate a permissions problem with AppArmor. 在最新版本的 Dcoker 中已经解决。

start / stop / restart

使用方法:

  1. docker start CONTAINER [CONTAINER…]

使用说明:

这组命令可以开启 (两个:start, restart),停止(一个:stop) 一个容器。

tag

使用方法:

  1. docker tag [OPTIONS] IMAGE[:TAG][REGISTRYHOST/][USERNAME/]NAME[:TAG]

使用说明:

组合使用用户名,Image 名字,标签名来组织管理 Image。

top

使用方法:

  1. docker top CONTAINER [ps OPTIONS]

使用说明:

显示容器內运行的进程。

wait

使用方法:

  1. docker wait CONTAINER [CONTAINER…]

使用说明:

阻塞对指定容器的其他调用方法,直到容器停止后退出阻塞。

深入浅出 Docker(二):Docker 命令行探秘

1. Docker 命令行

Docker 官方为了让用户快速了解 Docker,提供了一个交互式教程,旨在帮助用户掌握 Docker 命令行的使用方法。但是由于 Docker 技术的快速发展,此交互式教程已经无法满足 Docker 用户的实际使用需求,所以让我们一起开始一次真正的命令行学习之旅。首先,Docker 的命令清单可以通过运行 docker,或者 docker help 命令得到:

$ sudo docker

深入浅出 Docker(二):Docker 命令行探秘

在 Docker 容器技术不断演化的过程中,Docker 的子命令已经达到 34 个之多,其中核心子命令 (例如:run) 还会有复杂的参数配置。笔者通过结合功能和应用场景方面的考虑,把命令行划分为 4 个部分,方便我们快速概览 Docker 命令行的组成结构:

功能划分

命令

环境信息相关

  1. info
  2. version

系统运维相关

  1. attach
  2. build
  3. commit
  4. cp
  5. diff
  6. export
  7. images
  8. import / save / load
  9. inspect
  10. kill
  11. port
  12. pause / unpause
  13. ps
  14. rm
  15. rmi
  16. run
  17. start / stop / restart
  18. tag
  19. top
  20. wait

日志信息相关

  1. events
  2. history
  3. logs

Docker Hub 服务相关

  1. login
  2. pull / push
  3. search

1.1 参数约定

单个字符的参数可以放在一起组合配置,例如

  1. docker run t i name test busybox sh

可以用这样的方式等同:

  1. docker run ti name test busybox sh

1.2 Boolean

Boolean 参数形式如:-d=false。注意,当你声明这个 Boolean 参数时,比如 docker run -d=true,它将直接把启动的 Container 挂起放在后台运行。

1.3 字符串和数字

参数如 –name=“”定义一个字符串,它仅能被定义一次。同类型的如 -c=0 定义一个数字,它也只能被定义一次。

1.4 后台进程

Docker 后台进程是一个常驻后台的系统进程,值得注意的是 Docker 使用同一个文件来支持客户端和后台进程,其中角色切换通过 - d 来实现。这个后台进程是用来管理容器的,使用 Docker –help 可以得到更详细的功能参数配置, 如下图:

深入浅出 Docker(二):Docker 命令行探秘

CentOS 6/ 7 系列安装 Docker http://www.linuxidc.com/Linux/2014-07/104768.htm

Docker 的搭建 Gitlab CI 全过程详解 http://www.linuxidc.com/Linux/2013-12/93537.htm

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm

在 Docker 中使用 MySQL http://www.linuxidc.com/Linux/2014-01/95354.htm

在 Ubuntu Trusty 14.04 (LTS) (64-bit)安装 Docker http://www.linuxidc.com/Linux/2014-10/108184.htm

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm

Ubuntu 14.04 安装 Docker  http://www.linuxidc.com/linux/2014-08/105656.htm

阿里云 CentOS 6.5 模板上安装 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm

Docker 后台进程参数清单如下表

参数

解释

–api-enable-cors=false

开放远程 API 调用的 CORS 头信息。这个接口开关对想进行二次开发的上层应用提供了支持。

-b, –bridge=””

挂载已经存在的网桥设备到 Docker 容器里。注意,使用 none 可以停用容器里的网络。

–bip=””

使用 CIDR 地址来设定网络桥的 IP。注意,此参数和 -b 不能一起使用。

-D, –debug=false

开启 Debug 模式。例如:docker -d -D

-d, –daemon=false

开启 Daemon 模式。

–dns=[]

强制容器使用 DNS 服务器。例如:docker -d –dns 8.8.8.8

–dns-search=[]

强制容器使用指定的 DNS 搜索域名。例如:docker -d –dns-search example.com

-e, –exec-driver=”native”

强制容器使用指定的运行时驱动。例如:docker -d -e lxc

-G, –group=”docker”

在后台运行模式下,赋予指定的 Group 到相应的 unix socket 上。注意,当此参数 –group 赋予空字符串时,将去除组信息。

-g, –graph=”/var/lib/docker”

配置 Docker 运行时根目录

-H, –host=[]

在后台模式下指定 socket 绑定,可以绑定一个或多个 tcp://host:port, unix:///path/to/socket, fd://* 或 fd://socketfd。例如:

$ docker -H tcp://0.0.0.0:2375 ps 或者

$ export DOCKER_HOST=”tcp://0.0.0.0:2375″
$ docker ps

–icc=true

启用内联容器的通信。

–ip=”0.0.0.0″

容器绑定 IP 时使用的默认 IP 地址

–ip-forward=true

启动容器的 net.ipv4.ip_forward

–iptables=true

启动 Docker 容器自定义的 iptable 规则

–mtu=0

设置容器网络的 MTU 值,如果没有这个参数,选用默认 route MTU,如果没有默认 route,就设置成常量值 1500。

-p, –pidfile=”/var/run/docker.pid”

后台进程 PID 文件路径。

-r, –restart=true

重启之前运行中的容器

-s, –storage-driver=””

强制容器运行时使用指定的存储驱动,例如, 指定使用 devicemapper, 可以这样:

docker -d -s devicemapper

–selinux-enabled=false

启用 selinux 支持

–storage-opt=[]

配置存储驱动的参数

–tls=false

启动 TLS 认证开关

–tlscacert=”/Users/dxiao/.docker/ca.pem”

通过 CA 认证过的的 certificate 文件路径

–tlscert=”/Users/dxiao/.docker/cert.pem”

TLS 的 certificate 文件路径

–tlskey=”/Users/dxiao/.docker/key.pem”

TLS 的 key 文件路径

–tlsverify=false

使用 TLS 并做后台进程与客户端通讯的验证

-v, –version=false

显示版本信息

注意,其中带有[] 的启动参数可以指定多次,例如

  1. $ docker run a stdin a stdout a stderr i t ubuntu /bin/bash

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-12/110917p2.htm

2.3 日志信息相关

events

使用方法:

  1. docker events [OPTIONS]

使用说明:

打印容器实时的系统事件。

history

使用方法:

  1. docker history [OPTIONS] IMAGE

例子:

  1. $ docker history docker
  2. IMAGE CREATED CREATED BY SIZE
  3. 3e23a5875458790b7a806f95f7ec0d0b2a5c1659bfc899c89f939f6d5b8f70948 days ago
  4. /bin/sh c #(nop) ENV LC_ALL=C.UTF-8 0 B
  5. 8578938dd17054dce7993d21de79e96a037400e8d28e15e7290fea4f65128a368 days ago
  6. /bin/sh c dpkgreconfigure locales && localegen C.UTF8&&
  7. /usr/sbin/updatelocale LANG=C.UTF81.245 MB
  8. be51b77efb42f67a5e96437b3e102f81e0a1399038f77bf28cea0ed23a65cf60 8 days ago /bin/sh
  9. c aptget update && aptget install y git libxml2dev Python buildessential
  10. make gcc pythondev locales pythonpip 338.3 MB
  11. 4b137612be55ca69776c7f30c2d2dd0aa2e7d72059820abf3e25b629f887a0846 weeks ago
  12. /bin/sh c #(nop) ADD jessie.tar.xz in / 121 MB
  13. 750d58736b4b6cc0f9a9abe8f258cef269e3e9dceced1146503522be9f985ada6 weeks ago
  14. /bin/sh c #(nop) MAINTAINER Tianon Gravi <admwiggin@gmail.com>
  15. mkimagedebootstrap.sh t jessie.tar.xz jessie http://http.debian.net/debian 0 B
  16. 511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c1589 months ago 0 B

使用说明:

打印指定 Image 中每一层 Image 命令行的历史记录。

logs

使用方法:

  1. docker logs CONTAINER

使用说明:

批量打印出容器中进程的运行日志。

2.4 Dcoker Hub 服务相关

login

使用方法:

  1. docker login [OPTIONS][SERVER]

使用说明:

登录 Hub 服务。

pull / push

使用方法:

  1. docker push NAME[:TAG]

使用说明:

通过此命令分享 Image 到 Hub 服务或者自服务的 Registry 服务。

search

使用方法:

  1. docker search TERM

使用说明:

通过关键字搜索分享的 Image。

3. 总结

通过以上 Docker 命令行的详细解释,可以强化对 Docker 命令的全面理解。考虑到 Docker 命令行的发展变化非常快,读者可以参考官方的命令行解释文档更新相应的命令行解释。另外,通过以上 Docker 命令行的分析,可以知道 Docker 命令行架构设计的特点在于客户端和服务端的运行文件是同一个文件,内部实现代码应该是重用的设计。笔者希望开发者在开发类似的命令行应用时参考这样的设计,减少前后台容错的复杂度。

Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里

参考文献

[1] https://docs.docker.com/reference/commandline/cli/

[2] https://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing

[3] https://en.wikipedia.org/wiki/CIDR_notation#CIDR_notation

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计13364字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7960970
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件 大家好,我是星哥,很多人都希望能高效地保存微信公众号的文章,用于...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...
星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...