V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
MoonLin
V2EX  ›  分享创造

使用 GitHub Actions 转存 docker 到阿里云镜像托管服务

  •  
  •   MoonLin · 8 天前 · 1172 次点击

    地址:GitHub

    这几天 DockerHub 的镜像仓库被下线对我影响不小,我很多内网机器并没有配置什么特殊的网络服务,配置起来也比较复杂,干脆准备自己搭建一个专门为自己服务的 Docker 镜像源。

    感谢 GitHub Actions 和阿里云镜像托管服务,可以省去自己搭建专门的服务器,也希望大家点个 star 。

    使用阿里云出品的 image-syncer 而非直接通过 Docker pull & push 可以规避 Docker 客户端不方便自定义复杂的拉取规则。

    简单使用方式

    1. 配置阿里云容器镜像服务

    1. 登录容器镜像服务,新建个人版容器命名空间。
    2. 「访问凭证」- 设置固定密码。
    3. 记住「访问凭证」中的仓库地址、非脱敏后的用户名和密码,下一步需要用到。

    2. Fork 本项目

    1. 进入 Fork 后自己的项目。
    2. 修改 auth.yaml 中的字段为 自己仓库地址/命名空间
    3. 「 Settings 」-「 Secret and variables 」-「 Actions 」-「 New repository secret 」新增 ACR_USERACR_PASSWORD,分别为「阿里云容器镜像服务」-「访问凭证」中非脱敏后的用户名和密码。
    4. 进入「 Actions 」启用 Actions 。
    5. 编辑 images.yaml 添加对应镜像即可,规则参考 image-syncer建议用 latest 等 TAG 限制转存范围,防止过分滥用 Actions 服务
    6. (可选)把自己仓库地址配置成镜像源,省去输入完整镜像地址。
    7. 修改原来的镜像地址为 images.yaml 配置的目标地址。
    7 条回复    2024-06-17 10:12:39 +08:00
    guanzhangzhang
        1
    guanzhangzhang  
       8 天前
    我自己之前用 skopeo 的库+bbolt ,去吧谷歌镜像同步到阿里云上了。
    hxsf
        2
    hxsf  
       8 天前
    这样做是否已经是滥用 action 服务了?有被 ban 的风险吧
    kebamt
        3
    kebamt  
       8 天前 via iPad
    这种基础设施都能干掉,真是奇葩,自己卡自己脖子
    MoonLin
        4
    MoonLin  
    OP
       7 天前
    @hxsf 有可能,不过可选的平台比较多,根据这个思路用任何一个能访问 DockerHub 的 serverless 平台都能完成。
    blankmiss
        5
    blankmiss  
       7 天前
    我直接用 nexus 反向代理 dockerhub 仓库 自己用
    boyhappy
        6
    boyhappy  
       2 天前
    @kebamt 啊,已经不让 Github 的 actions 推镜像,到阿里云的容器镜像服务了么?我试了好几次,都 build 成功了,但阿里云镜像版本一直不更新!
    MoonLin
        7
    MoonLin  
    OP
       1 天前
    @boyhappy action 里没有任何报错吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3178 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 11:37 · PVG 19:37 · LAX 04:37 · JFK 07:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.