Dockerを1.1.0に更新したばかりなので、次のようになります。
デーモンからのエラー応答:クライアントとサーバーのバージョンが同じではありません(クライアント:1.13、サーバー:1.12)
これを修正する方法を知っていますか?
1.0.1に戻したところ、すべてが再び機能します。
Dockerを1.1.0に更新したばかりなので、次のようになります。
デーモンからのエラー応答:クライアントとサーバーのバージョンが同じではありません(クライアント:1.13、サーバー:1.12)
これを修正する方法を知っていますか?
1.0.1に戻したところ、すべてが再び機能します。
boot2docker
問題であることを明確にする必要があります(将来の参照用)。
回答:
boot2dockerをインストールした後、VMをアップグレードする必要があるようです。
boot2docker 0.12以降からアップグレードする場合は、boot2docker stop && boot2docker download && boot2docker upを使用して(インストーラーを使用してアップグレードした後)既存の仮想マシンを更新できます。既存のデータが失われることはありません。
(https://github.com/boot2docker/osx-installer/releases/tag/v1.1.0)
An error occurred trying to connect: Get https://192.168.59.103:2376/v1.19/containers/json?all=1: x509: certificate is valid for 127.0.0.1, 10.0.2.15, not 192.168.59.103
:/
boot2docker delete
、boot2docker init
そしてそれは働き始めました。
これは、Dockerを更新したが、サービスが再起動されていない場合に発生する可能性があります。次に、デーモン(更新前にすでに実行されていた)がまだ古いバージョンを実行している間に、更新されたクライアントを使用してDockerデーモンに接続しようとします。
これを修正するには、サービスを再起動します。
sysV init:
service docker restart
systemd:
systemctl daemon-reload
systemctl restart docker
systemd
それを行うことをお勧めしますsystemctl daemon-reload
前にsystemctl restart docker
docker-machine
ローカルのVirtualBoxベースのマシンを管理するために使用する場合、ソリューションはboot2dockerの場合と同じくらい簡単です。
docker-machine upgrade MACHINE_NAME
docker-machine
最新のものをダウンロードboot2docker.iso
して、アップグレードされたVMに新しいルートファイルシステムとして配置するように求められます。
ちなみに、VirtualBoxでバックアップされたDockerマシンには、ルートファイルシステムが読み取り専用です。つまり、マシンの再起動後も手動で更新することはできません。それは私にとって驚きでした。
私はboot2docker、docker、virtual boxの最新バージョンを持っていましたが、それでもこのメッセージを受け取りました。走ること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サーバーにクエリを実行しようとしていました。
私にとっての解決策は、次のことでした。
export DOCKER_API_VERSION=1.21
参照:https: //docs.docker.com/engine/reference/commandline/cli/
ここでの正解は非常に古いものです(Dockerはboot2dockerの名前をDocker Machineに変更し、さらにいくつかの機能を追加しました)。
とにかく私は同じ問題に直面し、修正するのに約3日かかりました:(
これが解決策です
1)の場所を見つける boot2docker.iso
sudo find ~/ -name 'boot2docker.iso'
2)boot2docker.iso
ファイルのバックアップを取った後、ファイルを削除します
/Users/{user}/.docker/machine/cache/boot2docker.iso
3)DockerVMを削除します
docker-machine rm {default}
これにより、その1つも削除されます。
/Users/{user}/.docker/machine/machines/default/boot2docker.iso
4)新しいdockervmを作成します
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/latestにアクセスし、をクリックして、最後にファイルのダウンロードを選択して、boot2docker.iso
ファイルを手動でダウンロードしてみてくださいhtml_url
。
ファイルを取得したら、手動でファイルを配置します /Users/{user}/.docker/machine/cache/
最後にこのコマンドを再実行します docker-machine create --driver virtualbox default
私の解決策は、VirtualBoxのDockerVMで[閉じる]> [電源を切る]を実行してから、Kitematicを再起動することでした。これは私のためにそれを修正しました。
あなたはそこで来た場合Ansibleなくboot2docker、ここでのソリューションです:使用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モジュールがUbuntuapt-getリポジトリと同じバージョンではないことが多いためだと思います。
boot2docker
ます。それもあなたの場合ですか?