Docker 添加 -H 标志后守护程序未启动

Docker daemon not starting after adding the -H flag

我正在尝试使用 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 管理器?

此命令声明 客户端无法与 docker daemon/engine/server 对话。根据日志,您的服务器是 运行.

只有 -H tcp://0.0.0.0:2375,如果您没有导出 DOCKER_HOST=127.0.0.1:2375,docker 客户端将无法与守护进程对话。您有 2 种方法来处理此问题:

  1. 正在导出DOCKER_HOST

    # Exporting DOCKER_HOST when you want to talk to it
    $ export DOCKER_HOST=127.0.0.1:2375
    $ docker ps
    
  2. 或者更新您的服务器选项以也绑定到套接字,就像这样

    # docker -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock -d
    $ docker ps