从源清单中把docker镜像指定的tag构建为指定的platform并推送到指定的容器平台上
Go to file
2024-10-11 21:33:21 +08:00
.gitignore v1.0 2024-10-11 21:24:47 +08:00
go.mod v1.0 2024-10-11 21:24:47 +08:00
go.sum v1.0 2024-10-11 21:24:47 +08:00
images.yaml v1.0 2024-10-11 21:24:47 +08:00
main v1.0 2024-10-11 21:24:47 +08:00
main.go v1.0 2024-10-11 21:24:47 +08:00
README.md readme添加go环境 2024-10-11 21:33:21 +08:00

dockerporter

一个可以将images.yaml清单中的多个来源的镜像标签构建为多平台镜像并推送到一个指定仓库的工具。

环境依赖

  • docker
  • docker buildx
  • go (1.23+)

用法

用go编码运行

go run main.go

无go环境使用

./main

linux安装go环境

下载安装

wget https://go.dev/dl/go1.23.2.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.23.2.linux-amd64.tar.gz

环境变量

编辑/etc/profile文件,在最后一行添加:

export PATH=$PATH:/usr/local/go/bin

执行source命令使环境变量配置立即生效:

source /etc/profile

问题

如果images.yaml清单中的镜像tag过多的话有可能会遇到429报错

429 Too Many Requests - Server message: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit

已知缺陷

  • 如果构建失败的话,在日志文件中只会看到exit code 1,但不会看到控制台输出的内容。