Docker'ı 1.1.0'a güncellediğimden beri:
Arka plan programından gelen hata yanıtı: istemci ve sunucu aynı sürüme sahip değil (istemci: 1.13, sunucu: 1.12)
Bunu nasıl düzelteceğinizi biliyor musunuz?
1.0.1'e geri döndüm ve her şey tekrar çalışıyor.
Docker'ı 1.1.0'a güncellediğimden beri:
Arka plan programından gelen hata yanıtı: istemci ve sunucu aynı sürüme sahip değil (istemci: 1.13, sunucu: 1.12)
Bunu nasıl düzelteceğinizi biliyor musunuz?
1.0.1'e geri döndüm ve her şey tekrar çalışıyor.
boot2dockersorun olduğunu netleştirmek için başlığı / soruyu düzenlemelisiniz (ileride başvurmak üzere).
Yanıtlar:
Boot2docker'ı kurduktan sonra sanal makineyi yükseltmeniz gerekiyor gibi görünüyor:
boot2docker 0.12 veya sonraki bir sürümden yükseltme yapıyorsanız, boot2docker stop && boot2docker download && boot2docker up'ı kullanarak mevcut sanal makinenizi (yükleyiciyi kullanarak yükselttikten sonra) güncelleyebilirsiniz - ve mevcut verilerinizi kaybetmezsiniz.
( 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 deleteardından, boot2docker initve çalışmaya başladı.
Docker'ı güncellediyseniz, ancak hizmet yeniden başlatılmadıysa bu olabilir. Daha sonra, arka plan programı (güncellemeden önce zaten çalışıyordu) hala eski sürümü çalıştırırken, güncellenmiş istemciyle Docker daemon'una bağlanmayı deneyeceksiniz.
Bunu düzeltmek için hizmeti yeniden başlatın:
sysV init:
service docker restart
systemd:
systemctl daemon-reload
systemctl restart docker
systemdbunu yapmak tavsiye edilir systemctl daemon-reloadöncesystemctl restart docker
Kullanmanız durumunda docker-machineYerel bir VirtualBox tabanlı makineleri yönetmek için , çözüm boot2docker için olduğu kadar basittir:
docker-machine upgrade MACHINE_NAME
En docker-machinegüncel olanı indirmenizi boot2docker.isove yükseltilen VM'ye yeni bir kök dosya sistemi olarak yerleştirmenizi ister.
Bu arada, VirtualBox destekli docker makinesinin kök dosya sistemi salt okunurdur. Bu, makinenin yeniden başlatılmasından sonra herhangi bir manuel güncellemenin mümkün olmadığı anlamına gelir. Bu benim için bir sürprizdi.
Boot2docker, docker ve virtual box'ın en son sürümüne sahiptim ama hala bu mesajı alıyordum. Görünüşe göre koşmak brew upgrade boot2dockeren iyi fikir değil. Koşarkenboot2docker upgrade , bir grup ortam değişkeni belirlemem istendi ve sonra benim için çalıştı.
Boot2docker benden bunları ayarlamamı istedi (son satırlara bakın):
$ 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
Bu üç satırı tek seferde kesip terminalinize yapıştırmanız mümkündür.
Doğru olup olmadıklarını kontrol etmek için:
$ env
Daha yeni bir istemciyle bir Docker sunucusunu sorgulamaya çalışıyordum:
Benim için çözüm şuydu:
export DOCKER_API_VERSION=1.21
Referans: https://docs.docker.com/engine/reference/commandline/cli/
Buradaki doğru cevap çok eskidir (Docker, boot2docker'ı Docker Machine olarak yeniden adlandırdı ve ona biraz daha işlevsellik ekledi) .
Her neyse, aynı sorunla karşılaştım ve düzeltmem yaklaşık 3 günümü aldı :(
İşte çözüm
1) yerini bulun boot2docker.iso
sudo find ~/ -name 'boot2docker.iso'
2) boot2docker.isoyedeğini aldıktan sonra dosyayı silin
/Users/{user}/.docker/machine/cache/boot2docker.iso
3) docker sanal makinenizi silin
docker-machine rm {default}
bu onu da silmeli:
/Users/{user}/.docker/machine/machines/default/boot2docker.iso
4) yeni docker sanal makinesi oluşturun
docker-machine create --driver virtualbox default
bu boot2docker.isoönce yenisini indirecek ve ardından vm'nizi oluşturmak için kullanacaktır.
Şimdi bu düzeltmeli :)
Burada herhangi bir hata alırsanız:
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 adresineboot2docker.iso gidip ardından üzerine tıklayarak ve son olarak dosyayı indirmeyi seçerek dosyayı manuel olarak indirmeyi deneyin .html_url
dosyayı aldıktan sonra gidin ve manuel olarak yerleştirin /Users/{user}/.docker/machine/cache/
sonunda bu komutu yeniden çalıştırın docker-machine create --driver virtualbox default
Bu benim için çalıştı: Yalnızca vm'yi kapatır, siler, yeniden oluşturur ve yeniden başlatır. Shellinit'i yeniden çalıştırır, böylece ENV değişkenleriniz geri geldiğinde doğru IP adresiyle ayarlanır.
$ boot2docker poweroff && \
boot2docker delete && \
boot2docker init && \
boot2docker up
$ eval `boot2docker shellinit`
Çözümüm, VirtualBox'taki docker VM'de Kapat> Kapatma yapmak ve ardından Kitematic'i yeniden başlatmaktı. Bu benim için düzeltti.
Eğer orada geldiyse yanıtlayıcı ' değil boot2docker, işte çözüm: Kullanım docker_api_version: autoargüman
- name: Mongo data container
docker:
docker_api_version: auto
name: mongo-primary-dc
image: debian:wheezy
state: present
volumes:
- /data
Sanırım nedeni, Ansible tarafından kullanılan docker-py modülünün Ubuntu apt-get deposuyla aynı sürümde olmamasıdır.
boot2docker. Bu da senin davan mı?