如何使用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不能一起使用: 只能使用其中的一个来防止冲突。