我有一个项目,其中我有一个shell脚本,可以在成功构建后将图像推入Docker中心。在脚本中,我定义了以下内容:
echo "Attempting log in to $DOCKER_REGISTRY_URL"
echo "$DOCKER_REGISTRY_PASSWORD" | docker login -u "$DOCKER_REGISTRY_USERNAME" --password-stdin当管道运行时,我看到以下消息:
Attempting log in to hub.docker.com
Error: Cannot perform an interactive login from a non TTY device
Error: Process completed with exit code 1.我完全不明白为什么会发生这个错误,我应该如何修复它。我不想为此目的使用GitHub操作作业,因为这意味着我的整个逻辑不再可移植到其他CI系统。我想把它保存在shell脚本中。我有什么办法解决这个尖锐的问题吗?
下面是我的GitHub操作脚本:
- name: docker-push
env:
GH_REPO: github.com/${{ env.USER }}/${{ env.DEPLOYMENT_REPO_NAME }}
API_TOKEN: ${{ secrets.API_TOKEN }}
DOCKER_APP_URL: ${{ env.DOCKER_REGISTRY_URL }}/${{ env.USER }}/plant-simulator
run: |
echo "Running sbt assembly for release version $RELEASE_VERSION"
sbt "set test in assembly := {}" assembly
bash docker/docker_push.sh && \
bash ./.github/scripts/tag_deployment发布于 2021-03-29 13:01:26
您的脚本正在运行:
echo "$DOCKER_REGISTRY_PASSWORD" | docker login -u "$DOCKER_REGISTRY_USERNAME" --password-stdin在我看来是对的。确保:
您已经添加了一个带有码头注册密码的存储库秘密(为了一致性起见,让我们使用DOCKER_REGISTRY_PASSWORD) )

环境: DOCKER_REGISTRY_PASSWORD:${{机密。DOCKER_REGISTRY_PASSWORD }
https://stackoverflow.com/questions/66853393
复制相似问题