docker 警告!通过CLI使用-password不安全,请使用-password-stdin

9rygscc1  于 2023-01-20  发布在  Docker
关注(0)|答案(1)|浏览(1482)

我在ci cd管道中开始构建docker映像,在“构建”步骤中,由于我不知道的原因,未通过授权,并给出错误:

Configure a credential helper to remove this warning. See
    https://docs.docker.com/engine/reference/commandline/login/#credentials-store

    Login Succeeded
    $ docker login --username=$HEROKU_USER --password=$HEROKU_API_KEY registry.heroku.com
    WARNING! Using --password via the CLI is insecure. Use --password-stdin.
    Error response from daemon: login attempt to https://registry.heroku.com/v2/ failed with status: 401 Unauthorized
    Cleaning up project directory and file based variables
    ERROR: Job failed: exit code 1

有没有人遇到这种情况,可以帮助?因为我仍然只是学习CI СD .也许甚至是一个愚蠢的错误,由于我缺乏知识和能力,在这方面.
我的docker-compose.yml在这里:

version: "3.3"

    services:
      beranking-api:
        container_name: beranking-api
        ports:
          - 8000:80
          - 8001:443
        depends_on:
          - "postgres"
        build:
          context: .
          dockerfile: BBS.Api/Dockerfile
        environment:
          - ASPNETCORE_URLS=https://+;http://+
          - ASPNETCORE_Kestrel__Certificates__Default__Password=certificate
          - ASPNETCORE_Kestrel__Certificates__Default__Path=/https/certificate.pfx
        volumes:
          - ~/.aspnet/https:/https:ro
        networks:https://stackoverflow.com/questions/ask#
          - beranking-network
      postgres:
        container_name: postgres
        ports:
          - "5432"
        restart: always
        build:
          context: .
          dockerfile: BBS.DataAccess/Dockerfile
        environment:
          POSTGRES_USER: "testing"
          POSTGRES_PASSWORD: "testing"
          POSTGRES_DB: "testing"
        networks:
          - beranking-network

    networks:
      beranking-network:
        driver: bridge
7rfyedvj

7rfyedvj1#

该问题与您的Docker-compose文件无关-它与您的命令直接相关:
docker login --username=$HEROKU_USER --password=$HEROKU_API_KEY registry.heroku.com
当以这种方式使用密码配置时,它仍在记录变量$HEROKU_API_KEY的输出,并将其保存到:
WARNING! Your password will be stored unencrypted in your/path/.docker/config.json.
我并不完全熟悉heroku,但这个问题可以在Gitlab上通过以下操作来解决:
echo "$HEROKU_API_KEY" | docker login --username foo --password-stdin
您还可以使用Docker中的凭据存储-更多信息请访问:
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Docker: Using --password via the CLI is insecure. Use --password-stdin

相关问题