我正在使用这个 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已经删除了注册表。我已经尝试阅读官方文档,但没有找到如何指定自定义注册表存储库。是否可以指定自定义回购协议?
最后我发现标签指定完整路径将解决这个问题:
- name: Build and push
uses: docker/build-push-action@v3
with:
context: .
push: true
tags: ${{ secrets.ALI_DOCKER_HUB_REGISTRY }}/reddwarf-pro/cv:latest