2016-06-23 6 views
2

내 Bamboo 빌드 계획 (linux64 에이전트에서 실행 중)은 내 GitHub 레포에서 소스 코드 체크 아웃을 수행 한 다음 그 이미지가있는 Dockerfile으로 빌드하는 단계가 있습니다. 같은 :Bamboo "Docker 데몬에 연결할 수 없습니다"

set -o xtrace 
set -o errexit 
${bamboo_DOCKER_SIGNATURE} build ${bamboo_DOCKER_BUILD_EXTRAS} -t myname:${bamboo_buildNumber} -f Dockerfile . 

내가 원하는 다음 단계는 (Quay.io에) 내 도커 레지스트리에이 이미지를 밀어 스크립트입니다. 내가 지금까지 가지고있는 스크립트는 아래에 있지만 "Docker 데몬에 연결할 수 없습니다.이 호스트에서 실행중인 docker 데몬입니까?"라는 오류 메시지와 함께 빌드가 실패합니다.

set -o xtrace 
set -o errexit 

# service docker start # commented out b/c this did not solve the docker daemon issue 

# This is where the build fails: 
docker login -e="." -u=${bamboo.QUAY_ROBOT_name} -p=${bamboo.QUAY_ROBOT_token} quay.io 

# Push the image to 'my_repo' in the Quay.io organization 'my_team', with tag 'bamboo_build' 
docker push quay.io/my_team/my_repo:bamboo_build${bamboo_buildNumber} 

FWIW 동일한 로그인 명령이 내 로컬 명령 줄에서 예상대로 작동합니다. 이 문제를 어떻게 해결할 수 있습니까? 또한 Bamboo의 Docker 태스크를 사용하면 레지스트리에 로그인 할 수 없지만 "docker daemon"문제가 발생하지 않습니다. 어떤 도움을 주셔서 미리 감사드립니다!

+0

에이전트가 실행중인 사용자가'docker' 그룹에 속해 있습니까? – jwodder

+0

@jwodder 나는 그렇게 믿는다. 이것을 어떻게 확인할 수 있습니까? – BoltzmannBrain

답변

1

트릭은 docker 대신 Bamboo 변수 ${bamboo_DOCKER_SIGNATURE}을 사용하는 것이 었습니다. 이 변수는 특정 호스트 (예 : docker -H <host address>)를 사용한다고 말합니다.