Docker を 1.1.0 に更新したばかりなので、次のようになります。
デーモンからのエラー応答: クライアントとサーバーのバージョンが同じではありません (クライアント: 1.13、サーバー: 1.12)
これを修正する方法を知っていますか?
1.0.1 に戻すと、すべてが再び機能します。
Docker を 1.1.0 に更新したばかりなので、次のようになります。
デーモンからのエラー応答: クライアントとサーバーのバージョンが同じではありません (クライアント: 1.13、サーバー: 1.12)
これを修正する方法を知っていますか?
1.0.1 に戻すと、すべてが再び機能します。
boot2docker をインストールした後、VM をアップグレードする必要があるようです。
boot2docker 0.12 以降からアップグレードする場合は、(インストーラーを使用してアップグレードした後に) boot2docker stop && boot2docker download && boot2docker up を使用して既存の仮想マシンを更新できます。既存のデータは失われません。
( https://github.com/boot2docker/osx-installer/releases/tag/v1.1.0 )
これは、Docker を更新したが、サービスが再起動されていない場合に発生する可能性があります。次に、更新されたクライアントを使用して Docker デーモンに接続しようとしますが、デーモン (更新前に既に実行されていた) はまだ古いバージョンを実行しています。
これを修正するには、サービスを再起動します。
sysV 初期化:
service docker restart
システム:
systemctl daemon-reload
systemctl restart docker
boot2docker、docker、および仮想ボックスの最新バージョンを使用していましたが、まだこのメッセージが表示されていました。走るbrew upgrade boot2docker
のは良くないようです。を実行しているときboot2docker upgrade
に、一連の環境変数を設定するように求められた後、うまくいきました。
Boot2docker はこれらを設定するように私に求めました (最後の行を参照):
$ boot2docker upgrade
Latest release for boot2docker/boot2docker is v1.3.0
Downloading boot2docker ISO image...
Success: downloaded https://github.com/boot2docker/boot2docker/releases/download/v1.3.0/boot2docker.iso
to /Users/.../.boot2docker/boot2docker.iso
Waiting for VM and Docker daemon to start...
.........oooooooooooooo
Started.
Writing /Users/.../.boot2docker/certs/boot2docker-vm/ca.pem
Writing /Users/.../.boot2docker/certs/boot2docker-vm/cert.pem
Writing /Users/.../.boot2docker/certs/boot2docker-vm/key.pem
To connect the Docker client to the Docker daemon, please set:
export DOCKER_HOST=tcp://192.168.59.103:2376
export DOCKER_CERT_PATH=/Users/.../.boot2docker/certs/boot2docker-vm
export DOCKER_TLS_VERIFY=1
これらの 3 つの行を一度に切り取り、端末に貼り付けることができます。
それらが正しいことを確認するには:
$ env
ここでの正解は非常に古いものです(Docker は boot2docker の名前を Docker Machine に変更し、いくつかの機能を追加しました)。
とにかく、私は同じ問題に直面し、修正するのに約3日かかりました:(
これが解決策です
1) の場所を見つけるboot2docker.iso
sudo find ~/ -name 'boot2docker.iso'
2)boot2docker.iso
バックアップを取った後、ファイルを削除します。
/Users/{user}/.docker/machine/cache/boot2docker.iso
3) docker vm を削除します
docker-machine rm {default}
これにより、それも削除されます。
/Users/{user}/.docker/machine/machines/default/boot2docker.iso
4) 新しい docker vm を作成する
docker-machine create --driver virtualbox default
これにより、最初に新しいものがダウンロードされ、boot2docker.iso
それを使用して vm が作成されます。
これで修正されるはずです:)
ここで次のようなエラーが発生した場合:
Running pre-create checks...
(mega-docker) No default Boot2Docker ISO found locally, downloading the latest release...
Error with pre-create check: "Get https://api.github.com/repos/boot2docker/boot2docker/releases/latest: dial tcp: lookup api.github.com on 192.168.0.1:53: read udp 192.168.0.103:53947->192.168.0.1:53: i/o timeout"
https://api.github.com/repos/boot2docker/boot2docker/releases/latestboot2docker.iso
に移動してファイルを手動でダウンロードしてからをクリックし、最後にファイルのダウンロードを選択してください。html_url
ファイルを取得したら、手動で配置します/Users/{user}/.docker/machine/cache/
最後にこのコマンドを再実行しますdocker-machine create --driver virtualbox default
私にとってうまくいった唯一のことは、VirtualBoxからboot2dockerイメージを削除してから、~/.boot2docker
フォルダーを完全に削除し、最後にboot2docker init
再度実行することでした。
私にとってうまくいったのは、プロセスを強制終了し、「sudo service docker start」で開始することだけでした。
boot2docker 削除
boot2docker 初期化
私のために働いた。もちろん、その前後にデーモンを停止/開始します。
boot2docker ではなくAnsibleでそこにたどり着いた場合docker_api_version: auto
、解決策は次のとおりです。
- name: Mongo data container
docker:
docker_api_version: auto
name: mongo-primary-dc
image: debian:wheezy
state: present
volumes:
- /data
その理由は、Ansible で使用される docker-py モジュールが、Ubuntu の apt-get リポジトリと同じバージョンではないことが多いためだと思います。
私の解決策は、VirtualBox の docker VM で Close > Power Off を実行してから、Kitematic を再起動することでした。これで修正されました。