簡體   English   中英

GitHub Docker 注冊表登錄操作失敗

[英]GitHub Action Fails for Docker Registry Login

我有一個項目,我有一個 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

您的腳本正在運行:

echo "$DOCKER_REGISTRY_PASSWORD" | docker login -u "$DOCKER_REGISTRY_USERNAME" --password-stdin

這對我來說看起來是正確的。 確保:

  1. 您已使用 docker 注冊表密碼添加了存儲庫機密(為了保持一致性,讓我們使用DOCKER_REGISTRY_PASSWORD

    在此處輸入圖像描述

  2. 您在環境變量中為您的腳本提供該秘密。

     env: DOCKER_REGISTRY_PASSWORD: ${{ secrets. DOCKER_REGISTRY_PASSWORD }}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM