「Docker」- 我们 daemon.json 配置

  CREATED BY JENKINSBOT

问题描述

在 Docker 中,服务的默认配置并不能满足我们的要求,因此我们需要调整默认配置,以适应我们生产场景的要求。

我们并不希望修改这些配置,但是如果不这样做又会带来其他问题。比如:我们容器时经常忘记指定日志论转选项,这便导致容器的日志不断增加,占用大量磁盘空间;为了提高镜像的拉去速度,我们需要使用镜像仓库的镜像站点(registry-mirror),或者配置网络加速。这写场景都需要我们修改 Docker 服务的配置文件。

该笔记将记录:在生产环境中,我们所使用的 Docker 配置(以及这样配置的原因),以及常见问题处理。

解决方案

cp -v /etc/docker/daemon.json /etc/docker/daemon.json.backup

cat > /etc/docker/daemon.json <<EOF
{
    "live-restore": true,
    "max-concurrent-downloads": 7,
    "log-driver":"json-file",
    "log-opts": {"max-size":"500m", "max-file":"3"}
}
EOF

# 首先,使配置 live-restore 生效
systemctl reload docker.service

# 然后,重启服务,记载其他配置
systemctl restart docker.service

live-restore:使重启 Docker 服务,而不会导致容器退出;
log-opts:修改日志选项,但是容器需要重新创建,才能使日志选项生效;
max-concurrent-downloads:并行镜像的连接数,用于提高镜像的下载速度;

registry-mirrors:我们没有使用该选项,原因参考 Proxy configuration 笔记。

参考文献

Keep dockerd running
Listen on Port
Using the Docker API
Logging drivers