【Docker学习总结】12.Docker守护进程的配置和操作
上一篇总结了Docker的CS模式的具体概念,本篇来学习Docker守护进程的配置和操作。在上一篇的演示中,我们使用了Linux的ps命令查看了Docker守护进程的运行状态。那么,除了ps命令,我们也可以使用Docker提供的“service docker status ”命令来查看Docker守护进程的运行状态:通过Active状态为“active(running)”可以看出,Dock...
上一篇总结了Docker的CS模式的具体概念,本篇来学习Docker守护进程的配置和操作。
在上一篇的演示中,我们使用了Linux的ps命令查看了Docker守护进程的运行状态。那么,除了ps命令,我们也可以使用Docker提供的“service docker status ”命令来查看Docker守护进程的运行状态:
通过Active状态为“active(running)”可以看出,Docker守护进程服务为激活状态,正在运行。其中Main PID就是返回的Docker的进程ID。
注:如果Linux当前用户为root,实际上无需添加sudo命令,如果不是root用户,需要添加sudo来执行管理员级别的指令,前提是该账户的该指令root用户给了授权。
一、Docker守护进程的启停
下面我们来学习如何启动、停止和重启Docker的守护进程。
我们需要使用到Linux的service命令,相关的操作如下:
sudo service docker start
sudo service docker stop
sudo service docker restart
我们使用“stop”命令停止Docker守护进程:
可以看到,执行完停止命令后,查看status状态时,Active状态为“inactive(dead)”,即Docker守护进程的状态为“未激活”,即相关后台服务已经被杀死(dead)。
然后我们执行“start”启动Docker守护进程:
可以看到,执行完启动命令后,查看status状态时,Active状态为“active(running)”已激活状态。可以注意到,此时Dock守护进程的进程ID(PID),也已经更新为新启动服务的进程ID了。
而“restart”重启命令,实际上是先执行了“stop”命令来停止服务,后执行了“start”命令;来启动服务。
当我们修改了Docker的启动配置时,就需要使用service命令来重新启动Docker服务,以使得修改的配置能够得到应用。
二、Docker的启动选项
Docker针对不同的应用场景,为守护进程提供了非常丰富的启动配置选项。而这种配置选项,是通过如下格式来运行的:
docker -d [OPTIONS]
其中-d是代表以“守护”的方式来运行Docker的程序,后面的“[OPTIONS]”就是守护进程的配置选项,Docker提供了非常丰富的配置选项,如下:
1.Docker守护进程相关
与Docker守护进程相关的运行选项,它包含了Docker的目录、日志级别、进程id、写入文件的地址、debug模式的开启以及docker运行时使用的驱动模式等等:
-D, --debug=false | debug模式的开启 |
-e, --exec-driver="native" | docker运行时使用的驱动模式 |
-g, --graph="/var/lib/docker" | 设置Docker运行时根目录 |
--icc=true | 设置启用内联容器的通信。 |
-l,--log-level="info" | docker的日志级别指定 |
--label=[] | docker标签 |
-p, --pidfile="/var/run/docker.pid" | 设置后台进程PID文件路径。 |
2.Docker服务器连接相关
-G, --group="docker" | 在后台运行模式下,赋予指定的Group到相应的unix socket上。注意,当此参数 --group 赋予空字符串时,将去除组信息 |
-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 |
--tls=false | 设置是否使用TLS |
--tlscacert="/home/sven/.docker/ca.pem" | 设置要在远程证书中使用的CA证书文件的路径 |
--tlscert="/home/sven/.docker/cert.pem" | 设置证书文件路径 |
--tlskey="/home/sven/.docker/key.pem" | 设置密匙文件路径 |
--tlsverify=false | 使用TLS远程证书,守护进程与客户端全部使用证书验证 |
3.Remote API相关
--api-enable-cors=false | 设置是否允许远程API调用。 |
4.存储相关
-s, --storage-driver="" | 设置容器运行时使用指定的存储驱动,如,指定使用devicemapper,可以这样:docker -d -s devicemapper |
--selinux-enabled=false | 设置启用selinux支持 |
--storage-opt=[] | 设置存储驱动的参数 |
5.Registry(仓库连接)相关
--insecure-registry=[] | 使用私有证书搭建docker注册服务器时,设置docker注册服务器域名 |
--registry-mirror=[] | 设置docker registry 的镜像地址 |
我们在后面的学习中,会用到该选项来配置Docker的镜像连接。
6.网络设置相关
-b, --bridge="" | 使用事先创建的网桥接口。若设置为none,则不在容器内使用网络 |
--bip="" | 使用CIDR标记法设置docker 的IP带宽。该选项不能与-b选项同时使用 |
--fixed-cidr="" | 固定分配IPv4地址的带宽。该IP地址必须在-b选项设置的网桥网络或--bip设置的IP网段内 |
--fixed-cidr-v6="" | 设置 IPv6子网 |
--dns=[] | 设置容器使用DNS服务器。例如: docker -d --dns 8.8.8.8 |
--dns-search=[] | 设置容器使用指定的DNS搜索域名。如: docker -d --dns-search example.com |
--ip=0.0.0.0 | 设置容器绑定IP时使用的默认IP地址 |
--ip-forward=true | 设置启动容器的 net.ipv4.ip_forward |
--ip-masq=true | 为网桥上的IP地址开启IP伪装(masquerading) |
--iptables=true | 设置启动Docker容器自定义的iptable规则 |
--ipv6=false | 设置是否使用ipv6子网 |
--mtu=0 | 设置容器网络的MTU值,如果没有这个参数,选用默认 route MTU,如果没有默认route,就设置成常量值 1500。 |
这些网络选项为Docker的运行提供了非常大的灵活性。
上面我们对Docker的配置选项进行了简单的介绍,为的是告诉大家Docker有非常灵活的设置模式,有关这些选项的详细剖析,在后面的学习中,在相应的使用场景中在更详细的介绍。
同时也可以登录Docker官方网站,来查看Docker这些配置选项的具体含义:
https://docs.docker.com/reference/commandline/cli
我们知道了Docker有如此多的配置选项,但是Docker服务的启动,并不是通过命令行来启动的,那么这些选项怎样应用到Docker守护进程启动的过程中呢?这里就需要介绍Docker的启动配置文件:
(1)老版
在1.12版本后之前,由于不同操作系统不同的init初始化系统,Docker的初始化配置文件根据不同的系统放置在不同的位置,在Ubuntu 中的位置是:/etc/default/docker,在CentOS中的位置是:/etc/sysconfig/docker。
(2)新版
1.12版本后, 用户可以自行创建 /etc/docker/daemon.json 该文件, 该文件是 docker 进程的配置管理文件, 里面几乎包含了所有 docker 命令行启动可以配置的参数, 不管是哪个平台, 不管是以何种方式启动, 默认都会来这里读取配置。
具体描述参见:https://blog.csdn.net/u013948858/article/details/79974796
我们把需要配置的启动配置编写进Docker的启动配置文件即可。
下面进行演示,使用“vim”来打开docker的启动配置文件(使用daemon.json文件配置方式):
我们进入编辑状态,为其添加一个启动选项:
这里我们添加一个“lebel选项”:
"labels":["nodeName=docker_server_1"]
“lebel选项”可以定义一个key-value的值,而这个值可以在“docker info”命令中查看到。
我们将该文件保存并退出,然后重启docker守护进程:
此时使用“docker info”命令,查看docker守护进程的运行情况,可以看到刚刚配置的选项已经加在了docker守护进程的启动配置选项中。
三、小结
本篇学习了以下知识点:
1.查看Docker守护进程的运行状态
2.启动、停止、重启Docker守护进程
3.Docker守护进程的启动选项
4.修改Docker守护进程的启动配置
参考资料:
《极客学院Docker学习》教学视频
转载请注明出处:https://blog.csdn.net/acmman/article/details/85947895
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)