学习目的
使用容器的方式做一些部署的交付,相对方便很多,不需要担心别人的环境缺少需要的依赖(比如 python 库,ansible 模块等),在 k8s 普及的情况下,也要想办法不污染本地的环境
开始学习
dockerd
dockerd
是管理容器的持久进程- Docker 对守护程序和客户端使用不同的二进制文件
dockerd
支持命令行,配置文件和环境变量的方式来配置启动参数
- 命令行和配置文件选项优先于环境变量
- 配置文件存在的参数不能和命令行的参数一样
- Linux 上允许的配置选项的完整示例,具体参数作用,可以看 dockerd 官方文档
{
"allow-nondistributable-artifacts": [],
"api-cors-header": "",
"authorization-plugins": [],
"bip": "",
"bridge": "",
"builder": {
"gc": {
"enabled": true,
"defaultKeepStorage": "10GB",
"policy": [
{
"keepStorage": "10GB", "filter": ["unused-for=2200h"] },
{
"keepStorage": "50GB", "filter": ["unused-for=3300h"] },
{
"keepStorage": "100GB", "all": true }
]
}
},
"cgroup-parent": "",
"containerd": "/run/containerd/containerd.sock",
"containerd-namespace": "docker",
"containerd-plugins-namespace": "docker-plugins",
"data-root": "",
"debug": true,
"default-address-pools": [
{
"base": "172.30.0.0/16",
"size": 24
},
{
"base": "172.31.0.0/16",
"size": 24
}
],
"default-cgroupns-mode": "private",
"default-gateway": "",
"default-gateway-v6": "",
"default-network-opts": {
},
"default-runtime": "runc",
"default-shm-size": "64M",
"default-ulimits": {
"nofile":