我想在端口上打开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,它再次运行良好。任何想法
答案 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
的服务正常启动。