Поскольку я только что обновил Docker до 1.1.0, я получаю:
Ответ на ошибку от демона: у клиента и сервера нет такой же версии (клиент: 1.13, server: 1.12)
Знаете ли вы, как это исправить?
Я переключился на 1.0.1, и все снова работает.
Поскольку я только что обновил Docker до 1.1.0, я получаю:
Ответ на ошибку от демона: у клиента и сервера нет такой же версии (клиент: 1.13, server: 1.12)
Знаете ли вы, как это исправить?
Я переключился на 1.0.1, и все снова работает.
Похоже, вам нужно обновить VM после установки boot2docker:
если вы обновляетесь с boot2docker 0.12 или новее, вы можете обновить существующую виртуальную машину (после обновления с помощью установщика) с помощью boot2docker stop && & boot2docker скачать && & & boot2docker up - и вы не потеряете существующие данные.
(https://github.com/boot2docker/osx-installer/releases/tag/v1.1.0)
Это может произойти, если вы обновили Docker, но служба не была перезапущена. Затем вы попытаетесь подключиться к демону Docker с обновленным клиентом, а демон (который уже был запущен до обновления) все еще запускает более старую версию.
Чтобы исправить это, перезапустите службу:
sysV init:
service docker restart
Systemd:
systemctl daemon-reload
systemctl restart docker
Если вы используете docker-machine
для управления локальными машинами на базе VirtualBox, решение так же просто, как и для boot2docker:
docker-machine upgrade MACHINE_NAME
Он просит docker-machine
загрузить последнюю версию boot2docker.iso
и поместить ее как новую корневую файловую систему в обновленную виртуальную машину.
Кстати, на докере-машине, поддерживаемой VirtualBox, есть только корневая файловая система. Это означает, что для любого обновления вручную невозможно перезагрузить компьютер. Это было для меня неожиданностью.
У меня была последняя версия 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
Можно вырезать и вставлять эти три строки за один раз в ваш терминал.
Чтобы проверить, что они верны:
$ env
Я пытался запросить сервер Docker с более поздним клиентом:
Решение для меня было просто:
export DOCKER_API_VERSION=1.21
Ссылка: https://docs.docker.com/engine/reference/commandline/cli/
Единственное, что сработало для меня, - это убить процесс и запустить его с помощью "sudo service docker start".
Единственное, что сработало для меня, - удалить образ boot2docker из VirtualBox, а затем полностью удалить папку ~/.boot2docker
и, наконец, запустить boot2docker init
снова.
Правильный ответ здесь очень старый (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"
попробуйте загрузить файл boot2docker.iso
вручную, перейдя в https://api.github.com/repos/boot2docker/boot2docker/releases/latest, затем нажав на html_url
и, наконец, выбрав для загрузки файл.
после того, как вы запустите файл и поместите его вручную в /Users/{user}/.docker/machine/cache/
наконец, запустите эту команду docker-machine create --driver virtualbox default
boot2docker delete
boot2docker init
работал у меня. остановить/запустить деамон до и после этого, конечно.
Это сработало для меня: он просто закрывает vm down, удаляет и воссоздает его и запускает его снова. Он повторно запускает shellinit, поэтому ваши переменные ENV устанавливаются с правильным IP-адресом, когда он возвращается.
$ boot2docker poweroff && \
boot2docker delete && \
boot2docker init && \
boot2docker up
$ eval `boot2docker shellinit`
Я считаю, что версия в brew устарела по сравнению с версией на веб-сайте docker.io. Поэтому я считаю, что лучший способ - перейти на сайт и загрузить установочный файл.
У меня была последняя версия boot2docker (v1.7.1) и получена ошибка несоответствия клиентского сервера. Затем я просто запустил boot2docker upgrade
и решил проблему.
Если вы пришли туда 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
Я думаю, причина в том, что модуль docker-py, используемый Ansible, часто не в той же версии, что и репозиторий Ubuntu apt-get.
Мое решение состояло в том, чтобы закрыть > Power Off на виртуальной машине докеров в VirtualBox, а затем перезапустить Kitematic. Это исправило это для меня.