使用 docker -H tcp://0.0.0.0:2375 重置 docker socker 后无法重新启动 docker

can't restart docker after resetting the docker socker using docker -H tcp://0.0.0.0:2375

我想在端口上打开 docker,所以我使用了这个命令:

service docker stop
docker -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -d &  

INFO[0000] +job init_networkdriver()                    
INFO[0000] Listening for HTTP on tcp (0.0.0.0:2375)     
INFO[0000] /!\ DON'T BIND ON ANOTHER IP ADDRESS THAN 127.0.0.1 IF YOU DON'T KNOW WHAT YOU'RE DOING /!\ 
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) 
INFO[0000] -job init_networkdriver() = OK (0)           
INFO[0000] Loading containers: start.                   
................
INFO[0000] Loading containers: done.                    
INFO[0000] docker daemon: 1.4.1 5bc2ff8; execdriver: native-0.2; graphdriver: aufs 
INFO[0000] +job acceptconnections()                     
INFO[0000] -job acceptconnections() = OK (0)  


service docker start

第一次运行,端口从2375开放。

但是现在用这个命令在docker上打开2375端口后,docker不能再用[=15=打开],docker总是停留在停止的状态。

我用过netstat -pna | 2375,没有监听2375的程序

谁知道我为什么不能重启docker


更新

我按照建议更新了 /etc/default/docker 配置,这里是更新。

DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 -H :2375"

然后我通过 service docker restart 重新启动 docker ,它似乎正在工作,因为 service docker status 显示为 运行,我认为它现在应该生效了。但是当我使用 docker images & docker ps -a 时,它显示

FATA[0000] Get http:///var/run/docker.sock/v1.16/images/json: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?

当我回到 docker 配置时,删除 DOCKER_OPTS 中的部分 '-H :2375',重新启动 docker,它再次运行良好。任何想法

您开始 docker 两次。第一次使用您的自定义端口,第二次通过 service 命令。为了将此自定义端口放入您的 运行 配置中,您需要设置 DOCKER_OPTS 环境变量以包含 -H tcp://0.0.0.0:2375(或简称为 -H :2375)。 Here 是 link 到 Github 的问题,它为您提供了一些永久设置此环境变量的线索。在 CentOS 上,编辑 /etc/sysconfig/docker 并将您的自定义端口信息添加到那里的 DOCKER_OPTS。在 Ubuntu 上,如 link 中所述,您可以编辑 /etc/default/docker 并将正确的信息添加到那里的环境变量中。这样,docker 应该会在您 service docker start 时保留您的自定义端口配置。进行此更改后,您可以删除自定义 docker ... -d & 命令并坚持使用 service docker start.

作为服务正常启动它