问题描述
在 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 dcker.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