我需要在 Ubuntu 中使用一些命令行参数启动 docker daemon,当手动执行此操作时,以下命令可以正常工作:
$ dockerd -H fd:// -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock
上面的命令使我可以将 docker 与 PhpStorm 的 docker 插件集成,并从那里配置容器。在我的例子中,Docker 守护进程开始监听 PhpStorm 使用的 TCP 端口 2375。
我需要使用相同的参数自动启动docker daemon,而且似乎有很多关于它的有争议的信息。我尝试了许多不同的解决方案,包括更改
/etc/default/docker
或 /etc/systemd/system/docker.service.d/docker.conf
和编辑DOCKER_OPTS
那里的参数。如何在 Ubuntu 16.04 中使用上述命令行参数自动运行 docker daemon?
最佳答案
在其他不起作用的解决方案中,here是一个有效的。它包括更改 docker.service
定义:
# edit the following file
# /lib/systemd/system/docker.service
# ...
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock
# ...
更改该文件后,运行
systemctl daemon-reload
应用对 docker.service
所做的更改文件,后跟 service docker restart
.Another solution不需要更改
docker.service
文件,可以在升级 docker 包后替换,破坏配置。它需要创建或编辑 /etc/docker/daemon.json
文件:{
"hosts": [
"fd://",
"unix:///var/run/docker.sock",
"tcp://127.0.0.1:2375"
]
}
在进行这些更改后重新启动 docker 服务也会使 docker 守护进程监听端口 2375 上的 TCP 连接或使用 Unix 套接字的连接。
注意以上方案不能同时使用:只能使用其中一个 以防止冲突。
关于ubuntu - 如何在 Ubuntu 中使用自定义参数自动启动 docker 守护进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43343417/