dockerpull

dockerpull 是一个使用 Go 语言编写的命令行工具,用于简化从 Amazon Elastic Container Registry (ECR) 中拉取 Docker 镜像的过程。它提供了以下功能:

  1. 通过命令行参数指定要拉取的镜像名称或 Docker Compose YAML 文件。
  2. 自动添加 public.ecr.aws/dockerpublic.ecr.aws 前缀到镜像名称,以便从 Amazon ECR 中拉取镜像。
  3. 如果使用 public.ecr.aws/docker 前缀拉取失败,会自动尝试使用 public.ecr.aws 前缀进行拉取。
  4. 拉取成功后,使用 docker tag 命令去掉镜像名称中的前缀,以便在本地使用原始的镜像名称。
  5. 使用 docker rmi 命令删除带有前缀的镜像,以节省本地存储空间。
  6. 支持解析 Docker Compose YAML 文件,并自动拉取文件中定义的所有服务的镜像。

使用方法

  1. 拉取单个镜像:

    dockerpull <image>

    例如:

    dockerpull nginx

    dockerpull library/nginx

2024-06-11T07:00:32.png

  1. 拉取 Docker Compose YAML 文件中定义的所有镜像:

    dockerpull <file.yml|file.yaml>

    例如:

    dockerpull docker-compose.yml

安装

  1. 确保系统中已安装 Go 语言环境。
  2. 下载 dockerpull 的源代码。
  3. 使用以下命令编译源代码:

    go build -o dockerpull
  4. 将编译生成的 dockerpull 可执行文件移动到系统的 PATH 目录中,以便在任何地方都可以使用该命令。

依赖

dockerpull 依赖以下 Go 包:

  • fmt:用于格式化和输出信息。
  • os:用于访问命令行参数和执行系统命令。
  • os/exec:用于执行 Docker 命令。
  • strings:用于处理字符串操作。
  • gopkg.in/yaml.v2:用于解析 YAML 文件。

确保在编译之前已经安装了这些依赖包。

直接下载使用

linux amd64

windows x64

osx x64 intel

osx x64 arm

注意事项

  • 使用 dockerpull 工具需要在系统中安装并配置好 Docker。
  • 确保在运行 dockerpull 命令时具有足够的权限执行 Docker 命令。
  • 在拉取镜像时,需要确保机器可以访问 Amazon ECR 并具有相应的权限。

这是一份 dockerpull 工具的简要介绍,你可以根据需要进一步完善和扩展该文档。

最后修改:2024 年 06 月 11 日
如果觉得我的文章对你有用,请随意赞赏