使用 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
.
作为服务正常启动它
我想在端口上打开 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
.