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

我想在一个端口上打开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不能再使用service docker start来打开,docker一直停留在stop状态。

我使用了netstat -pna | 2375 netstat -pna | 2375 ,没有节目听2375

任何人都知道我为什么不能重新启动docker


更新

我按照build议更新/ etc / default / dockerconfiguration,这里是更新。

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

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

FATA [0000]获取http:///var/run/docker.sock/v1.16/images/json :拨打unix /var/run/docker.sock:没有这样的文件或目录。 您是否尝试连接到启用TLS的守护程序而不使用TLS?

当我回到Dockerconfiguration中时,移除DOCKER_OPTS中的'-H:2375'部分,重新​​启动Docker,并且再次运行良好。 有任何想法吗

你开始docker两次。 第一次使用自定义端口,第二次使用service命令。 为了把这个自定义端口放到你正在运行的configuration中,你需要设置DOCKER_OPTS环境variables来包含-H tcp://0.0.0.0:2375 (或简称为-H :2375 )。 这里是一个Github问题的链接,它给你一些线索来永久设置这个环境variables。 在CentOS上,编辑/etc/sysconfig/docker DOCKER_OPTS并将您的自定义端口信息添加到DOCKER_OPTS中。 在Ubuntu上,如链接中所述,您可以编辑/etc/default/docker并将正确的信息添加到环境variables中。 这样, service docker start时,docker应该保留自定义的端口configuration。 在这个改变之后,你可以放下自定义的docker ... -d &命令并坚持正常启动它作为service docker start