开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 8 天, 点击查看活动详情
docker daemon.json 配置文件
daemon.json 配置方式
Linux:/etc/docker/daemon.jsonWindows Server:C:\ProgramData\docker\config\daemon.jsonDocker for Mac/Docker for Windows: Click the Docker icon in the toolbar, selectPreferences, then selectDaemon. ClickAdvanced.
daemon.json 配置
镜像加速器
// 配置一个
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
// 配置多个
{
"registry-mirrors": ["https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn"]
}
镜像加速器常用值:
docker-cn 官方:https://registry.docker-cn.com
中科大:https://docker.mirrors.ustc.edu.cn
日志
{
"debug": true,
"log-level": "info"
}
log-level的有效值包括:debug,info,warn,error,fatal
监控 Prometheus
{
"metrics-addr" : "127.0.0.1:9323",
"experimental" : true
}
保持容器在线
当 dockerd 进程死掉后, 依旧保持容器存活。
{
"live-restore": true
}
Linux 重载 docker daemon
$ sudo kill -SIGHUP $(pidof dockerd)
设置 镜像、容器、卷 存放目录和驱动
下述两个参数可以单独使用
{
"graph": "/mnt/docker-data",
"storage-driver": "overlay"
}
graph: 设置存放目录
Docker Root Dir: /mnt/docker-data
storage-driver: 设置存储驱动
Storage Driver: overlay
user namespace remap
安全设置: 用户空间重映射
userns-remap 的值可以是
如果值字段 只有 一个值, 那么该字段表示 组。
如果需要同时指定 用户 和 组, 需要使用 冒号 分隔,格式为 用户:组
组用户:组组或用户的值可以是组或用户的名称或ID。testusertestuser:testuser10011001:1001testuser:10011001:testuser
{
"userns-remap": "testuser"
}
// 或同时指定 用户和组,且使用 名称和ID
{
"userns-remap": "testuser:1001"
}
$ dockerd --userns-remap="testuser:testuser"
userns-remap使用不多,但并不是不重要。目前不是默认启用的原因是因为一些应用会假定 uid 0 的用户拥有特殊能力,从而导致假定失败,然后报错退出。所以如果要启用 user id remap,你要充分测试一下。但是启用 uid remap 的安全性提高是明显的。
自建 docker 网络冲突配置
由于 docker 本身是默认使用 B 类地址(172.xx.0.0/16), 大部分情况下会和公司网络产生冲突。
为了解决这个问题,需要在 /etc/docker/daemon.json 中增加 "bip":"169.254.31.1/24" 指定容器使用的网络。
{
"bip":"169.254.31.1/24"
}
如果在 daemon.json 中已有配置,根据 json 格式增加
互相吹捧, 共同进步
欢迎和我一起学习进步:可以在掘金私信我
DevOpsCamp星球 是一个完全免费的学习星球。 每月1日和15日 发布作业和扩展阅读文章。 其存在的意义是 帮助和引导 那些愿意学习的人。 想睡的人叫不醒, 想走的人留不住