1

내 Jenkins 실행자에서 17.05+ 도커를 실행하는 방법은 무엇입니까?GKE : Jenkins 내부 다단계 dockerfiles

나는 튜토리얼을 따라했습니다

모든 튜토리얼에 설명 된대로 작동합니다.

나는 Jenkins에서 빌드하려고하는 다단계 Dockerfile을 가지고 있지만 최신 Docker 버전 (> 17.05)이 필요합니다. 내가 docker version를 실행하는 경우

나는이를 업데이트 할 수있는 방법을 찾을 수 없습니다

...

내 파이프 라인에서

, 난 항상 내가 뭘 상관없이 1.13.1을 얻을 :

docker version 
Client: 
Version:  1.13.1 
API version: 1.26 
Go version: go1.8.1 
Git commit: 092cba3 
Built:  Wed Aug 30 20:31:05 2017 
OS/Arch:  linux/amd64 

Server: 
Version:  1.13.1 
API version: 1.26 (minimum version 1.12) 
Go version: go1.8.1 
Git commit: 092cba3 
Built:  Wed Aug 30 20:31:05 2017 
OS/Arch:  linux/amd64 
Experimental: false 

에서 docker run -it 'image-name' bash와 내가 노예로 사용하기로되어있어 컨테이너 : 나는 0 집행을 설정 한

docker version 
Client: 
Version:  17.11.0-ce 
API version: 1.34 
Go version: go1.8.3 
Git commit: 1caf76c 
Built:  Mon Nov 20 18:36:37 2017 
OS/Arch:  linux/amd64 
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 

Configure Jenkins>Jenkins에서 사용하는 경우에만 1 컨테이너 템플릿 갓 푸시 된 이미지 (체크했는데 최신)입니다. "이미지를 항상 당깁니다."체크 박스가 선택되어 있습니다. ... (예 : 레이블을 Kubernetes Pod Template으로 설정할 때. Pipeline Model Definition>Docker Labelto 고정 표시기 - edge` 그것을 실속하게 설정, 내 직업 구성에서 무엇을

  • 을 변경하지 않습니다 내 Jenkinsfile에

    • node('docker-edge')을하고를 찾을 수 없습니다 : docker-edge) 및 라벨과 집행을 제한하려고 집행자
  • +0

    클러스터 버전은 무엇입니까? GKE VM 중 하나에 SSH를 넣고'docker version'을 실행할 수 있습니까? 젠킨스가 이미지를 만드는 데 사용하는 것이 확실치 않지만 호스트 도커 엔진을 사용하는 경우 호스트 버전이 해당 도커 버전을 사용할 수있을만큼 충분히 새로운 것인지 확인해야합니다. –

    답변

    1

    GKE 버전이 출시 될 때까지 기다려야한다고 생각합니다.이 기능이있는 최신 Docker 버전이 있습니다. (다단계 빌드는 16.04 또는 16.10과 같은 버전에서 시작한 것 같습니다.)

    +0

    Docker 버전 17.05부터 시작되었습니다. 그 문제로 인해 Jenkins에서 CircleCI로 바꿨습니다! 귀하의 답변에 감사드립니다. –

    +0

    흠. 문제가 호스트의 도커 - 엔진이나 젠킨스가 제공 한 도커 클라이언트 버전에 있었는지 확실하지 않습니다. (이 방법으로 문제가 해결되면 대답을 수락하여 문제가 해결되었음을 표시하십시오.) –

    +1

    올바르게 기억하면 업데이트 할 수없는 도커 서버였습니다. 새로운 도커 클라이언트 버전을 사용하더라도 아무 것도 바뀌지 않았습니다. (새로운 릴리스를 기다리기 위해 내 문제를 실제로 "해결"하지는 않습니다!하지만이 특정 문제로 인해 젠킨스를 더 이상 사용하지 않아서 받아 들일 것입니다. 더 이상 답변이 필요하지 않습니다.) –