我正在尝试使用 Docker Swarm,为此我需要使用以下命令在每个节点上使用 -H 标志启动 Docker 守护程序:
docker -H tcp://0.0.0.0:2375 -d
在我的节点(Debian 8、Docker 1.6.0)上执行此操作时,该命令永远不会停止,即使它显示守护程序已完成初始化。
完整的输出:
INFO[0000] +job init_networkdriver()
INFO[0000] +job serveapi(tcp://0.0.0.0:2375)
INFO[0000] Listening for HTTP on tcp (0.0.0.0:2375)
INFO[0000] /!\ DON'T BIND ON ANY IP ADDRESS WITHOUT setting -tlsverify IF YOU DON'T KNOW WHAT YOU'RE DOING /!\
INFO[0000] -job init_networkdriver() = OK (0)
WARN[0000] mountpoint for memory not found
INFO[0000] Loading containers: start.
INFO[0000] Loading containers: done.
INFO[0000] docker daemon: 1.6.0 4749651; execdriver: native-0.2; graphdriver: aufs
INFO[0000] +job acceptconnections()
INFO[0000] -job acceptconnections() = OK (0)
INFO[0000] Daemon has completed initialization
在最后一行之后没有任何反应,我无法编写另一个命令。
我还运行了命令screen
,以便能够在第一个命令之后运行命令,但是在运行 Docker 命令时出现错误消息:
FATA[0000] Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
该命令清楚地表明守护程序没有正确启动。我怎样才能有一个 Docker 守护程序启动并确保 Swarm 代理上的远程 API 可通过 TCP 用于 Swarm 管理器?