【发布时间】:2016-05-26 00:20:49
【问题描述】:
我正在尝试在某些 Ubuntu 14.04 vagrant box 上使用 consul 设置 docker swarm,但是 docker 守护进程存在问题。我已经有一个正在运行的 progrium/consul 容器和一个正在运行的 swarm manager 容器。 172.28.128.3 是运行一切的主机,172.28.128.4 是我试图在其上启动 docker swarm 容器的机器。这是我的命令和输出:
vagrant@ubuntu-14:~$ docker -H=172.28.128.4:2375 run -d swarm join \
> --advertise=172.28.128.4:2375 \
> consul://172.28.128.3:8500/
docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.
See 'docker run --help'.
docker 没有其他问题,尝试以与我在 mac 上相同的方式启动守护进程 boot2docker 给出以下输出:
vagrant@ubuntu-14:~$ eval "$(docker-machine env default)"
docker-machine: command not found
更新:这里是$sudo docker info和$docker info的输出(除了下面描述的一行之外,它们完全相同)
vagrant@ubuntu-14:~$ sudo docker info
Containers: 8
Running: 2
Paused: 0
Stopped: 6
Images: 8
Server Version: 1.11.1
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 81
Dirperm1 Supported: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: null host bridge
Kernel Version: 3.13.0-24-generic
Operating System: Ubuntu 14.04 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 993.9 MiB
Name: ubuntu-14
ID: BBEM:JVHD:UXV7:AGQR:ITUY:3KGT:K4RS:7KSR:ESCJ:2VZQ:QTOG:J26U
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No kernel memory limit support
这两个命令之间的唯一区别是$docker info 有以下Network: 条目
Network: host bridge null
在我的第二台机器上,两个命令输出完全没有区别。
更新:将DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock" 添加到我的工作机器上的文件/etc/default/docker 并重新启动我的工作服务器上的docker 服务sudo docker restart swarm 工作正常。
感谢 JorelC 的解决方案。
【问题讨论】:
-
这两个命令输出什么:
$sudo docker info和$docker info? -
我无法将所有输出都放在评论中,所以我更新了上面的内容以包含
$sudo docker info和$docker info的输出 -
他们都工作了吗?
-
是的,两个命令都运行没有任何问题
标签: docker vagrant ubuntu-14.04 consul docker-swarm