Docker Machineで繰り返し問題が発生しています。数日ごとにタイムアウトが発生し、これが発生すると回復できません。
例
_docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default virtualbox Timeout
_
環境情報
_uname -a Darwin ColeyMBPR 15.4.0 Darwin Kernel Version 15.4.0: Fri Feb 26 22:08:05 PST 2016; root:xnu-3248.40.184~3/RELEASE_X86_64 x86_64
docker version 1.11.0
docker-machine version 0.7.0
vboxmanage --version 5.0.20r106931
_
試行されたソリューション
次のことを順不同で試しました。
eval "$(docker-machine env default)"
を実行していますdocker-machine regenerate-certs default
_ハック
今私のために働いている唯一のことは、Dockerマシンを破壊して再作成することです。これにより、すべてのイメージとコンテナーが破壊され、再セットアップするのに非常に時間がかかります。
_docker-machine rm -y default && docker-machine create -d virtualbox default && eval $(docker-machine env)
_
試すことができるものはありますか?ありがとう!
更新:5月9日(再現手順)
次の手順でこの問題を確実に再現できます。
docker-compose up
_を使用して、いくつかのコンテナーをビルドします。これは通常、マシンを起動および停止する方法に関連する問題です。
Uを使用して解決できます
$ docker-machine stop default
$ docker-machine start default
$ docker-machine regenerate-certs default
「docker-machine restart default」を使用しないでください。ネットワーク構成が更新されないためです。
Dockerバージョン1.11.2、ビルドb9f10c9で同じ問題が発生しました
これは私のために働いた-私のドッカーマシンは実行状態に戻ります
$ docker-machine restart
$ eval $(docker-machine env)
これまでのところ、私は少しハックな解決策を持っています-これはドッカーマシンを修正しますが、すべてのコンテナとイメージを破壊します。
スクリプト:rebuild-machine.sh
docker-machine rm -y default
docker-machine create -d virtualbox default
docker-machine stop default
VBoxManage modifyvm "default" --natpf1 "Forwarding App 1,tcp,127.0.0.1,3000,,3000"
VBoxManage modifyvm "default" --natpf1 "Forwarding App 2,tcp,127.0.0.1,3001,,3001"
VBoxManage modifyvm "default" --natpf1 "Forwarding App 3,tcp,127.0.0.1,3004,,3004"
VBoxManage modifyvm "default" --natpf1 "Forwarding App 4,tcp,127.0.0.1,3005,,3005"
VBoxManage modifyvm "default" --natpf1 "Forwarding App 5,tcp,127.0.0.1,3006,,3006"
VBoxManage modifyvm "default" --natpf1 "Forwarding App 6,tcp,127.0.0.1,8081,,8081"
docker-machine start default
eval $(docker-machine env)
説明
私の問題は非常に簡単でした。 ufwファイアウォールでポート2376をブロックしていました。 Docker-machineは、リモートに接続するためにこのポートを開く必要があります。
これは私にとってはうまくいき、私のコンテナは破壊されませんでした:
DockerマシンでVMを再起動しました
$ docker-machine restart default
dockerバージョン:1.12.3
docker-machineバージョン:0.8.2、ビルドe18a919
Virtualboxを開いて閉じ、すべてのvmを手動で開始しました。状態は再びrunning
です
私の問題は非常に些細なものでした-Dockerマシンを再起動した直後に「docker machine ls」コマンドを実行したため、まだ実行されていなかったためタイムアウトが発生しました。