竹子“无法连接到Docker守护程序”

3

我的Bamboo构建计划(在linux64代理上运行)有一个阶段,用于从我的GitHub存储库中检出源代码,然后使用Dockerfile构建图像,该文件如下所示:

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

下一步我想要的是一个脚本,将这个镜像推送到我的Docker注册表(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}

就我个人而言,相同的登录命令在我的本地命令行中可以正常工作。我该如何解决这个问题?此外,使用Bamboo内置的Docker任务无法工作--它无法登录到注册表,但由于某种原因没有"docker daemon"问题。非常感谢您提前的帮助!


代理程序正在运行的用户是否属于“docker”组? - jwodder
@jwodder 我相信是这样的。我该如何检查呢? - BoltzmannBrain
1个回答

1
关键在于使用Bamboo变量${bamboo_DOCKER_SIGNATURE}而不是docker。这个变量表示使用特定的主机,即docker -H <host address>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接