Ubuntu 20.04 中的 Docker 设置

Ubuntu 20.04 中的 Docker 设置

当前设置
我根据本文在 Ubuntu(20.04)上安装了 Docker(19.03.11):https://docs.docker.com/engine/install/ubuntu/

目标是什么
我想更改 data-root 和 tls 选项,因此我搜索配置可能性。

我使用了哪些选项
- /lib/systemd/system/docker.service
- /etc/docker/daemon.json(默认情况下不退出!)
- /etc/init/docker.conf
- /etc/default/docker
- /etc/init.d/docker
我遵循的程序
我尝试了所有这些文件,并按照以下步骤操作:
service docker stop
[编辑文件]
systemctl daemon-reload
service docker start

什么方法有效
我只能通过编辑 docker.service 文件来应用 data-root 选项(但是)当我安装 docker-compose 时它被重置了,所以我猜解决方案不在那里。

问题:
- 我错过了什么导致上述解决方案不起作用?
- 还有其他选项可以将参数传递给 dockerd 可执行文件吗?(除了我手动启动它或在 init.d 文件夹中创建我自己的脚本)

答案1

据我所知,只有编辑文件时才能获得所需的更改/lib/systemd/system/docker.service?对吗?但之后它会被覆盖?

您需要创建一个systemd 插件文件。说明可在此处找到:https://unix.stackexchange.com/a/468067/105418

systemctl edit docker.service

这将创建一个自定义文件,/etc/systemd/system其中包含覆盖,即您希望 docker 使用的特定设置。因此,/lib/systemd/system/docker.service其他人(例如 docker-compose)可以更新 中的文件,而无需删除您的设置。

PS-Ubuntu 20.04 默认使用systemd你应该使用系统控制启动和停止docker.service的命令。

答案2

尝试创建/etc/docker/daemon.json以下内容

{
    "storage-driver": "overlay2",
    "data-root": "/home/docker"
}

dockerd将自动从该文件中获取配置。您不必修改 systemd 单元配置文件。下面是dockerd 选项的完整参考

相关内容