容器引擎
Docker daemon是一个常驻后台的系统进程,docker 子命令执行前先要启动docker daemon。
如果是通过rpm包或者系统包管理工具安装的,就可以使用systemctl start docker来启动docker daemon。
docker命令支持多个参数选项,对于参数选项有以下约定:
单个字符的选项可以合并在一起,如:
docker run -t -i busybox /bin/sh
可以写成
docker run -ti busybox /bin/sh
在命令帮助中看到的如--icc=true之类的bool命令选项,如果没有使用这个选项,则这个标志位的值就是在命令帮助中看到的缺省值,如果使用了这个选项则这个标志位的值就是命令帮助中看的值的相反值,如果启动docker daemon没有加上使用--icc选项,则默认设置了--icc=true,如果使用了--icc选项则表示是--icc=false。
在命令帮助中看到的--attach=[]之类的选项,表示这类的选项可以多次设置,如:
docker run --attach=stdin --attach=stdout -i -t busybox /bin/sh
在命令帮助中看到的-a, --attach=[]之类的选项,表示这种选项既可以用-a value指定也可以用--attach=value指定。如:
docker run -a stdin --attach=stdout -i -t busybox /bin/sh
--name=””之类的选项需要的是一个字符串,只能指定一次,-c=0之类的选项需要的是一个整数,只能指定一次。
表 1 docker daemon启动时指定参数详解
开放远程API调用的 CORS 头信息。这个接口开关对想进行二次开发的上层应用提供了支持。为remote API设置CORS头信息。 | |
# 启动的容器umask值为0022 --exec-opt native.umask=normal # 启动的容器umask值为0027(缺省值)--exec-opt native.umask=secure 注意如果docker create/run也配置了native.umask参数则以docker create/run中的配置为准。 | |
在后台运行模式下,赋予指定的Group到相应的unix socket上。注意,当此参数 --group 赋予空字符串时,将去除组信息。 | |
在后台模式下指定socket绑定,可以绑定一个或多个 tcp://host:port, unix:///path/to/socket, fd://* 或 fd://socketfd。例如: | |
指定非安全连接的仓库,docker默认所有的连接都是TLS证书来保证安全的,如果仓库不支持https连接或者证书是docker daemon不清楚的证书颁发机构颁发的,则启动daemon的时候要指定如--insecure-registry=192.168.1.110:5000,使用私有仓库都要指定。 | |
开启镜像层完整性检查功能,设置为true;关闭该功能,设置为false。如果没有该参数,默认为关闭。 docker启动时会检查镜像层的完整性,如果镜像层被破坏,则相关的镜像不可用。docker进行镜像完整性校验时,无法校验内容为空的文件和目录,以及链接文件。因此若镜像因掉电导致上述类型文件丢失,docker的镜像数据完整性校验可能无法识别。docker版本变更时需要检查是否支持该参数,如果不支持,需要从配置文件中删除。 | |
设置容器网络的MTU值,如果没有这个参数,选用默认 route MTU,如果没有默认route,就设置成常量值 1500。 | |
配置存储驱动的参数,存储驱动为devicemapper的时候有效(e.g. dockerd --storage-opt dm.blocksize=512K)。 | |