利用 github action
将 docker
镜像从一个仓库同步到另一个仓库。例如,将 gcr.io
下的指定镜像同步到 docker.io
中。
创建一个新的 issue
, issue
标题填写需要同步的镜像(镜像名称需要是完整名称,不能省略 registry
与 tag
), issue
内容可为空
例如: 创建的 issue
标题为 k8s.gcr.io/kube-state-metrics/kube-state-metrics:latest
, 则 github action 会自动拉取该镜像并推送到 docker hub
的 xin053
用户下, 之后可通过 docker pull xin053/kube-state-metrics:latest
拉取该镜像
通过下面的链接可以查看同步过的镜像:
https://hub.docker.com/u/xin053
fork
该仓库之后, 并到仓库 settings
页面中的 Features
中勾选 Issues
, 并且在 Actions
页面启用 github actions
, 然后按照需要添加相应的 secrets
后, 即可在自己 fork
的仓库中创建 issue
来同步 docker
镜像了
key | value |
---|---|
SOURCE_USERNAME |
源仓库用户名 |
SOURCE_PASSWORD |
源仓库密码 |
TARGET_REGISTRY |
目标仓库地址,默认为 docker.io |
TARGET_REPOSITORY |
目标项目地址,默认为空 |
TARGET_USERNAME |
docker hub 用户名 |
TARGET_PASSWORD |
docker hub 密码或 token |
fork
该仓库后, 添加如下 secrets
key | value |
---|---|
SOURCE_USERNAME |
源仓库用户名 |
SOURCE_PASSWORD |
源仓库密码 |
TARGET_USERNAME |
docker hub 用户名 |
TARGET_PASSWORD |
docker hub 密码或 token |
备注: docker hub 如果使用 token 登录, 则无法修改 docker hub 对应仓库的描述
详见: peter-evans/dockerhub-description#10
fork
该仓库后, 添加如下 secrets
key | value |
---|---|
TARGET_REGISTRY |
目标仓库地址,如 ghcr.io |
TARGET_REPOSITORY |
目标项目地址,如 test |
TARGET_USERNAME |
目标仓库用户名 |
TARGET_PASSWORD |
目标仓库密码 |