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

时间:2015-01-24 18:42:45

标签: 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始终处于停止状态。

我使用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]获取http:///var/run/docker.sock/v1.16/images/json:拨打   unix /var/run/docker.sock:没有这样的文件或目录。你在试吗   连接到没有TLS的启用TLS的守护程序?

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

1 个答案:

答案 0 :(得分:2)

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