1。守护进程简介
- Docker以root权限运行其守护进程,处理普通用户无法完成的操作(例如挂载文件系统)。 docker程序是Docker daemon的客户端程序,也需要以root身份运行。用户可以 使用“docker daemon”命令控制 Docker 守护进程
- 注意: 在 Docker 1.8 之前,Docker 守护进程是通过 -d 标志控制的,无需使用 docker daemon 子命令
- / var /run /docker.sock:
- 守护进程监听这个Unix套接字文件,获取来自客户端的Docker请求
- 如果系统中存在名为docker的用户组,则Docker会将该套接字文件的所有者为设置为该用户组。这样docker用户组中的所有用户就可以直接运行Docker了,无需使用sudo命令
- 警告:前面提到,docker用户组虽然方便了Docker的使用,但毕竟存在安全风险。因为 docker 用户组对 Docker 的权限与 root 用户相同,所以只有真正需要使用 Docker 的用户和程序才应该添加到 docker 用户组
2。守护进程的状态、启动、关闭和重启
查看守护进程状态
sudo服务docker状态
启动、关闭、重启
#停止守护进程
sudo service docker stop#启动守护进程
sudo service docker start#重启守护进程
sudo服务docker重启
- 注意:您还可以适当地使用 init 系统来管理和更新 Docker 守护进程的启动配置
3。守护进程的配置
-H 选项
- 运行 Docker 守护进程时,可以使用 -H 标志来:
- 调整守护进程绑定监听接口的方式,可以指定不同的网络接口和端口配置
- 还可以将守护进程绑定到指定的Unix套接字路径
- 例如下面指定Docker守护进程绑定到主机的所有网络接口
sudo docker daemon -H tcp://0.0.0.0:2375
- 例如以下指定Docker守护进程绑定在指定的socket上
sudo docker daemon -H unix://home/docker/docker.sock
sudo docker 守护进程 -H tcp://0.0.0.0:2375 -H unix://home/docker/docker.sock
DOCKER_HOST 环境变量
- 如果通过上面的docker daemon命令修改Docker接口,那么客户端操作Docker服务器时,每次都需要指定-H选项,如
docker -H :2375
- 如果您不想每次运行客户端时都指定 -H 标志,您可以更改 DOCKER_HOST 环境变量
- 注意:如果您的 Docker 在代理或公司防火墙后面运行,您可以还可以使用 HTTPS_PROXY、HTTP_PROXY 和 NO_PROXY 选项来控制守护程序如何连接
TLS 认证
- 默认情况下,Docker 的客户端-服务器通信是未经身份验证的。这意味着如果 Docker 绑定到公共网络接口,任何人都可以连接到 Docker 守护进程。 Docker 0.9及以后版本提供了TLS认证
- 读者将在后面介绍Docker API时了解如何启用TLS认证
-D 选项
sudo docker 守护进程-D
- 使用 -D 标志输出有关 Docker 守护进程的更多详细信息
4。配置文件
- 以上配置都是通过命令配置的。重启 Docker 后它们将失效。如果想永久保存,可以写一个配置文件
ubuntu
- ubuntu系统下,配置文件为/etc/default/docker文件
- 备注(要点):
- 在桌面版ubuntu上安装docker时,默认配置文件/etc/default/docker中的配置无效(14.04服务器没有问题)版本),导致之前的很多工作进展缓慢。这个问题在官方文档中已经出现过
- 所以如果是桌面版docker,请修改/lib/systemd/system/docker.service配置文件,使用“sudo systemctl daemon-reload”重启Docker服务
- 以下文章中有演示案例:https://www.sychzs.cn/qq_41453285/article/details/107642615
Fedora、红帽
- 在Fedora和Red Hat版本中,配置文件为/usr/lib/systemed/system/docker.service文件或/etc/sysconfig/docker文件
- 详细信息请参考:https:// /博客。 www.sychzs.cn/qq_41453285/article/details/107642615
- 我是小东,V公众点击“免费笔记”,解锁更多【Docker】信息内容。