是否可以在 GitHub actions docker/build-push-action v3 中指定注册表

问题描述 投票:0回答:1

我正在使用这个 GitHub 操作脚本将图像推送到 repo:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3

    - name: Set up QEMU
      uses: docker/setup-qemu-action@v2

    - name: Set up Docker Buildx
      uses: docker/setup-buildx-action@v2

    - name: Login to Docker Hub
      uses: docker/login-action@v2
      with:
        registry: ${{ secrets.ALI_DOCKER_HUB_REGISTRY }}
        username: ${{ secrets.ALIYUN_DOCKER_REPO_USER_NAME }}
        password: ${{ secrets.ALIYUN_DOCKER_REPO_USER_PASSWORD }}

    - name: Build and push
      uses: docker/build-push-action@v3
      with:
        push: true
        tags: pro/cv:latest

构建过程显示错误:

buildx failed with: ERROR: failed to solve: failed to push pro/cv:latest: failed to authorize: failed to fetch oauth token: unexpected status: 401 Unauthorized

我认为

docker/build-push-action@v3
默认推送到 docker 仓库,但我需要推送到自定义仓库。所以我尝试用
docker/build-push-action@v3
指定注册表,似乎v3已经删除了注册表。我已经尝试阅读官方文档,但没有找到如何指定自定义注册表存储库。是否可以指定自定义回购协议?

docker github-actions
1个回答
0
投票

最后我发现标签指定完整路径将解决这个问题:

- name: Build and push
  uses: docker/build-push-action@v3
  with:
    context: .
    push: true
    tags: ${{ secrets.ALI_DOCKER_HUB_REGISTRY }}/reddwarf-pro/cv:latest
© www.soinside.com 2019 - 2024. All rights reserved.