최신 docker 및 docker-compose 개발 버전을 실행하는 방법은 무엇입니까?

최신 docker 및 docker-compose 개발 버전을 실행하는 방법은 무엇입니까?

버그를 해결하기 위해 Ubuntu 14.10에서 docker 및 docker-compose의 개발 빌드를 함께 실행하는 방법을 알아내려고 합니다.https://github.com/docker/compose/pull/1349

최신 Docker 개발 버전

docker -v
# Docker version 1.7.0-dev, build 6a7a757

# docker-compose -v
docker-compose version: 1.3.0rc3
CPython version: 2.7.8
OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014

하지만 도커는 서버 버전을 좋아하지 않습니다

# which docker 
/usr/bin/docker
# sudo /usr/bin/docker -d & 
WARN[0000] Your kernel does not support swap memory limit. 
INFO[0000] Loading containers: start.                   
.......................................................................INFO[0000] No non-localhost DNS nameservers are left in resolv.conf. Using default external servers : [nameserver 8.8.8.8 nameserver 8.8.4.4] 
INFO[0000] No non-localhost DNS nameservers are left in resolv.conf. Using default external servers : [nameserver 8.8.8.8 nameserver 8.8.4.4] 
WARN[0000] Failed to allocate and map port 8080: Error starting userland proxy: listen tcp 0.0.0.0:8080: bind: address already in use 

INFO[0000] Loading containers: done.                    
INFO[0000] Daemon has completed initialization          
INFO[0000] Docker daemon                                 commit=6a7a757 execdriver=native-0.2 graphdriver=aufs version=1.7.0-dev

# ps auxf | grep docker
root     24854  0.0  0.0  73360  3800 pts/14   S    09:59   0:00          |       \_ sudo /usr/bin/docker -d
root     24866  0.0  0.1 439152 19556 pts/14   Sl   09:59   0:00          |       |   \_ /usr/bin/docker -d
root     24982  0.0  0.0 109264 14584 pts/14   Sl   09:59   0:00          |       |       \_ docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 32768 -container-ip 172.17.0.2 -container-port 29015
root     25102  0.0  0.1 109264 16552 pts/14   Sl   09:59   0:00          |       |       \_ docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 32769 -container-ip 172.17.0.2 -container-port 28015
root     25131  0.0  0.0 109264 14516 pts/14   Sl   09:59   0:00          |       |       \_ docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 32770 -container-ip 172.17.0.2 -container-port 8080

# docker ps
Error response from daemon: client and server don't have same version (client : 1.20, server: 1.15)

그리고 현재 개발 릴리스 후보 docker-compose는 서버 버전 1.18을 예상합니다.

# which docker-compose 
/usr/local/bin/docker-compose
# docker-compose ps
client and server don't have same version (client : 1.18, server: 1.15)

데몬을 중지한 후에도 여전히 동일한 오류 메시지가 나타납니다.

# sudo killall docker
INFO[0288] Processing signal 'terminated' 
# docker ps
Error response from daemon: client and server don't have same version (client : 1.20, server: 1.15)

docker-compose에 필요한 버전 1.18과 일치하도록 docker 클라이언트를 다운그레이드할 수 있다는 것을 알고 있지만 동일한 바이너리 클라이언트가 1.20인 것처럼 보이는데 서버 버전이 1.15로 보고되는 이유를 여전히 이해하지 못합니다.

추가 질문: docker 데몬이 중지되었을 때 docker 클라이언트가 어떻게 잘못된 서버 버전 메시지를 계속 수신합니까?

답변1

Docker( )를 업그레이드한 후 docker 서비스를 다시 시작해 보세요 sudo service docker restart. 이는 다음의 원인일 수 있습니다.

여전히 이전 버전의 Docker가 실행 중입니다.

매우 비슷한 문제가 있었고 Docker를 업그레이드했는데 서비스를 다시 시작할 때까지 동일한 오류 메시지가 계속 표시되었습니다.

답변2

이 경우의 문제는 환경 변수가 $DOCKER_HOST다른 버전을 사용하는 다른 시스템을 가리키므로 프로세스가 나타나지 않고 psAPI와 호환되지 않는다는 것입니다.

unset DOCKER_HOST문제가 해결 되어 변수를 제거했습니다 .

관련 정보