我在相同的操作系统(ubuntu 16.04)、不同的机器上观察到,如果我运行sudo systemctl status docker
,那么我会得到关于 docker.service 位置的不同结果,更确切地说,在我拥有的一台机器上:
docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running)
....
CGroup: /system.slice/docker.service
├─1411 /usr/bin/dockerd -H unix://
在另一台机器上我有:
docker.service - Docker Application Container Engine
Loaded: loaded (/etc/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running)
....
CGroup: /system.slice/docker.service
├─1411 /usr/bin/dockerd -H fd://
docker.service 位置不同的原因是什么?谢谢
答案1
docker 守护进程的默认配置文件位于/lib/systemd/system/docker.service
,而自定义配置可以放置在/etc/systemd/system/docker.service
或/etc/systemd/system/docker.service.d/
文件夹中,这会覆盖默认配置。
来自文档:
有多种方法可以为 Docker 守护进程配置守护进程标志和环境变量。
推荐的方法是使用 systemd 嵌入式文件。这些是目录中的本地文件
/etc/systemd/system/docker.service.d
。这也可能是/etc/systemd/system/docker.service
,它也适用于覆盖/lib/systemd/system/docker.service
.
请注意,这是旧版本的内容,该部分已更改当前版本 说以下内容:
推荐的方法是使用与平台无关的 daemon.json 文件