docker 镜像拉取

创建一个新的repository

在新仓库创建一下阿里云个人版账号密码

Settings --> Actions secrets and variables --> Actions --> Repository secrets

创建如下两个secrets 填写个人版本镜像拉取账号密码
Key如下 REGISTRY_USERNAMEREGISTRY_PASSWORD

在新仓库创建这个路径和文件

1
.github/workflows/docker.yaml

填写如下的yaml内容,即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
name: docker-pull-push
on:
push:
branches:
- main

env:
## 如下信息需要修改
# 1、dokcer.io 镜像仓库的信息
# 如果是docker官方镜像,IMAGE_NAMESPACE用 library
IMAGE_NAMESPACE: zmquan666
IMAGE_NAME: nginx
IMAGE_TAG: latest

# 2、个人镜像的地址和名称空间
MY_REPO_URL: registry.cn-hangzhou.aliyuncs.com
MY_REPO_NAMESPACE: drhub
MY_REPO_IMAGENAME: nginx
MY_REPO_IMAGE_TAG: latest

jobs:
login:
runs-on: ubuntu-latest

steps:
# 配置账号密码登录的步骤,不用修改
- name: Login to ACR
uses: aliyun/acr-login@v1
with:
login-server: "${{ env.MY_REPO_URL }}"
username: "${{ secrets.REGISTRY_USERNAME }}"
password: "${{ secrets.REGISTRY_PASSWORD }}"

# 默认有docker命令,不用修改
- name: pull and push image
run: |
docker info
docker pull $IMAGE_NAMESPACE/$IMAGE_NAME:$IMAGE_TAG
docker tag $IMAGE_NAMESPACE/$IMAGE_NAME:$IMAGE_TAG $MY_REPO_URL/$MY_REPO_NAMESPACE/$MY_REPO_IMAGENAME:$MY_REPO_IMAGE_TAG
docker push $MY_REPO_URL/$MY_REPO_NAMESPACE/$MY_REPO_IMAGENAME:$MY_REPO_IMAGE_TAG