深入浅出Docker(二):Docker命令行探秘
深入浅出Docker(二):Docker命令行探秘
1. Docker命令行
Docker官方为了让用户快速了解Docker,提供了一个交互式教程,旨在帮助用户掌握Docker命令行的使用方法。但是由于Docker技术的快速发展,此交互式教程已经无法满足Docker用户的实际使用需求,所以让我们一起开始一次真正的命令行学习之旅。首先,Docker的命令清单可以通过运行docker ,或者 docker help 命令得到:
$ sudo docker
在Docker容器技术不断演化的过程中,Docker的子命令已经达到34个之多,其中核心子命令(例如:run)还会有复杂的参数配置。笔者通过结合功能和应用场景方面的考虑,把命令行划分为4个部分,方便我们快速概览Docker命令行的组成结构:
功能划分 |
命令 |
环境信息相关 |
|
系统运维相关 |
|
日志信息相关 |
|
Docker Hub服务相关 |
|
1.1 参数约定
单个字符的参数可以放在一起组合配置,例如
- docker run -t -i --name test busybox sh
可以用这样的方式等同:
- 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可以得到更详细的功能参数配置, 如下图:
CentOS 6/7系列安装Docker
Docker的搭建Gitlab CI 全过程详解
Docker安装应用(CentOS 6.5_x64)
在 Docker 中使用 MySQL
在Ubuntu Trusty 14.04 (LTS) (64-bit)安装Docker
Docker安装应用(CentOS 6.5_x64)
Ubuntu 14.04安装Docker
阿里云CentOS 6.5 模板上安装 Docker
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" |
--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 |
显示版本信息 |
注意,其中带有[] 的启动参数可以指定多次,例如
- $ docker run -a stdin -a stdout -a stderr -i -t ubuntu /bin/bash
更多详情见请继续阅读下一页的精彩内容:
|
评论暂时关闭