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 초기화 :
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 지원 도커 머신은 루트 파일 시스템을 읽기 전용으로 가지고 있습니다. 즉, 시스템 재부팅 후에도 수동 업데이트가 가능하지 않습니다. 저에게는 놀라운 일이었습니다.
최신 버전의 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
이 세 줄을 한 번에 잘라내어 터미널에 붙여 넣을 수 있습니다.
올바른지 확인하려면 :
$ 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) 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/latest 로 boot2docker.iso
이동하여 수동으로 파일 을 다운로드 한 다음html_url
하고 마지막으로 파일 다운로드를 선택 다운로드하십시오.
일단 파일을 가져 와서 수동으로 /Users/{user}/.docker/machine/cache/
마지막으로이 명령을 다시 실행하십시오. docker-machine create --driver virtualbox default
내 솔루션은 VirtualBox의 docker VM에서 Close> Power Off를 수행 한 다음 Kitematic을 다시 시작하는 것이 었습니다. 이것은 나를 위해 그것을 고쳤습니다.
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 저장소와 동일한 버전이 아닌 경우가 많기 때문이라고 생각합니다.
boot2docker
있습니다. 그것도 당신의 경우입니까?