2016-05-26 135 views
1

我想在某些Ubuntu 14.04流浪盒上設置docker swarm與consul,但是docker守護進程存在問題。我已經有一個正在運行的progrium/consul容器和一個swarm manager容器在運行。 172.28.128.3是主機運行的一切,172.28.128.4是我試圖啓動docker swarm容器的機器。這是我的命令和輸出:Ubuntu docker羣集錯誤「docker:無法連接到Docker守護進程。docker守護進程是否在該主機上運行?」

[email protected]:~$ 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'. 

沒有其他問題,碼頭工人,並試圖啓動守護程序以同樣的方式我會在我的Mac電腦boot2docker給出了下面的輸出:

[email protected]:~$ eval "$(docker-machine env default)" 
docker-machine: command not found 

更新:這裏是$sudo docker info$docker info輸出(它們是完全除了一個下面描述行的相同)

[email protected]:~$ 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 

以下項在我的第二機器沒有差別的兩個命令輸出之間在所有。

UPDATE:將DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"添加到我的工作計算機上的文件/ etc/default/docker並重新啓動我的工作服務器上的docker服務sudo docker restart swarm工作正常。 謝謝JorelC的解決方案。

+0

這兩個命令輸出是什麼:'$ sudo docker info'和'$ docker info'? – Auzias

+0

我無法適應評論中的所有輸出,因此我更新了上面的內容以包含'$ sudo docker info'和$ $ docker info'的輸出。 –

+0

它們都工作嗎? – Auzias

回答

2

您必須配置所有想通過tcp使用docker的機器才能在tcp模式下運行。在(你的問題172.28.128.4)你遠程機器,編輯的/ etc /默認/泊塢窗文件並添加這樣的事情在DOCKER_OPTS

DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock" 

之後,您需要重新啓動服務:

sudo service docker restart 

,你應該通過TCP使用泊塢窗。從您的客戶機嘗試:

docker -H=172.28.128.4:2375 info 

,以測試它的工作

+0

非常感謝你的伎倆。 –

0

也可能有問題,如果您使用的是有搬運工人預裝在這些情況下,或實例圖像的克隆。

要解決這個問題請使用以下shell腳本:

#UNINSTALL 
sudo apt-get purge -y docker-engine 
sudo apt-get autoremove -y --purge docker-engine 

#CLONES 
sudo rm /etc/docker/key.json 

#INSTALL 
sudo apt-get install -y curl 
sudo curl -sSL http://get.docker.com | sudo sh 
sudo usermod -aG docker $(whoami) 
sudo su root 

如果你想使用泊塢窗羣的最新版本(1.12一帶有內置搬運工羣)使用下面的腳本:

# DOCKER 1.12.0 
sudo apt-get update 
sudo apt-get purge -y lxc-docker docker-engine 
sudo apt-get autoremove -y --purge docker-engine 
sudo curl -fsSL https://experimental.docker.com/ | sudo sh 
sudo chmod 777 /etc/default/docker 
echo 'DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"' > /etc/default/docker 
sudo chmod 755 /etc/default/docker 
sudo rm /etc/docker/key.json 
sudo service docker restart 
sudo usermod -aG docker $(whoami) 
sudo su root 
相關問題