2016-05-26 9 views
1

私は、いくつかのUbuntu 14.04迷惑メールボックスにconsulを持つdocker swarmを設定しようとしていますが、dockerデーモンに問題があります。私はすでにプログラム/コンサルのコンテナを走らせていて、スウォームマネージャのコンテナを走らせています。 172.28.128.3はすべてを実行しているマスターマシン、172.28.128.4はドッカースームコンテナーを起動しようとしているマシンです。Ubuntu docker swarmエラー "docker:Dockerデーモンに接続できません。このホストでdockerデーモンが実行されていますか?"

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

[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'. 

ドッキングウィンドウと、次の出力が得られますboot2docker私は私のMac上と同じようにデーモンを起動しようとすると、他の問題はありません。ここに私のコマンドと出力されますアップデート:ここ$sudo docker info$docker infoの出力である(彼らは以下の1行を除いてまったく同じです)

[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 

ため、以下のエントリを持つ2つのコマンドの出力との間に全く差がないということです。

更新:ワーカーマシンの/ etc/default/dockerファイルにDOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"を追加してから、ワーカーサーバー上のドッカーサービスを再起動したsudo docker restart swarmが正しく動作しています。 解決策はJorelCにありがとうございます。

+0

'$ sudo docker info'と' $ docker info'の2つのコマンドは何を出力しますか? – Auzias

+0

私はすべての出力をコメントに収めることができなかったので、上記で '$ sudo docker info'と' $ docker info'の出力を含めて更新しました –

+0

彼らはどちらもうまくいきましたか? – Auzias

答えて

2

tcpを使用するドッカーを使用するすべてのマシンをtcpモードで実行するように構成する必要があります。 (あなたの質問で172.28.128.4)あなたのリモートマシンでは、は、/ etc/default /ドッカファイルを編集し、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

を働いているかどうかをテストするためにも問題が存在する場合があります。その次のシェルスクリプトを使用して回避する

#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 1)ドッキングウィンドウの群れの最新バージョンを使用したい場合は、次のスクリプトを使用します。

# 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 
関連する問題