如何使用Ubuntu中的自定义参数自动启动docker守护进程?
我需要在Ubuntu中使用一些命令行参数来启动docker守护进程,当手动执行时,以下命令正常工作:
$ dockerd -H fd:// -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock
上面的命令使我可以将docker与PhpStorm的docker插件集成在一起,并从那里configuration容器。 在我的情况下,Docker守护进程开始监听PhpStorm使用的TCP端口2375。
我需要用相同的参数自动启动docker守护进程,似乎有很多有争议的信息。 我尝试了许多不同的解决scheme,包括更改/etc/default/docker
DOCKER_OPTS
或/etc/systemd/system/docker.service.d/docker.conf
并编辑DOCKER_OPTS
参数。
如何在Ubuntu 16.04中自动运行上述命令行参数来运行docker守护进程?
在其他解决scheme不起作用, 这是一个工作。 它包括更改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
docker.service
service docker restart
。
另一个解决scheme不需要修改docker.service
文件,这个文件可以在升级docker软件包之后被replacedocker.service
,从而中断configuration。 它需要创build或编辑/etc/docker/daemon.json
文件:
{ "hosts": [ "fd://", "unix:///var/run/docker.sock", "tcp://127.0.0.1:2375" ] }
在进行这些更改后重新启动docker服务也会使docker守护程序监听端口2375上的TCP连接或使用Unix套接字的连接。
请注意,上述解决scheme不能一起使用: 只能使用其中的一个来防止冲突。