本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

docker-dind-awscli Docker 镜像下载 - 轩辕镜像

docker-dind-awscli 镜像详细信息和使用指南

docker-dind-awscli 镜像标签列表和版本信息

docker-dind-awscli 镜像拉取命令和加速下载

docker-dind-awscli 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

docker-dind-awscli
bentolor/docker-dind-awscli

docker-dind-awscli 镜像详细信息

docker-dind-awscli 镜像标签列表

docker-dind-awscli 镜像使用说明

docker-dind-awscli 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

用于Docker-in-Docker(dind)的Docker镜像,已集成AWS CLI v2工具
2 收藏0 次下载activebentolor镜像

docker-dind-awscli 镜像详细说明

docker-dind-awscli 使用指南

docker-dind-awscli 配置说明

docker-dind-awscli 官方文档

镜像概述和主要用途

bentolor/docker-dind-awsclidocker 镜像的替代品,适用于需要同时使用 awscli 的场景。类似地,bentolor/docker-dind-awscli:dind 可作为 docker:dind 的替代品,额外集成了 awscli。本镜像解决了在Docker-based CI流水线中同时使用Docker客户端和AWS CLI的需求痛点。

核心功能和特性

解决的问题

在CI流水线中执行 aws ecr set-login-password … | docker login … 等操作时,通常会遇到以下问题:

  • *** docker:latest 镜像未安装Python、pipaws 工具
  • 常见的 awscli 镜像不提供Docker支持
  • 按照AWS***文档手动将 awscli 安装到 docker:stable 中无法工作(因 docker:latest 基于Alpine Linux,而 awscli 需要glibc库,Alpine默认缺失)

构建方法

本镜像通过以下步骤构建,解决了上述问题:

  1. 基于 docker:latest 镜像
  2. 从 [***] 下载并安装Alpine所需的glibc库
  3. 按照AWS文档([] awscli

使用场景和适用范围

适用于需要在Docker环境中同时运行Docker命令和AWS CLI命令的场景,特别是CI/CD流水线(如Gitlab CI、Jenkins等),例如:

  • 从代码仓库拉取Docker镜像并推送到AWS ECR
  • 在CI过程中使用AWS服务(如S3、ECR)管理镜像或资源

详细的使用方法和配置说明

Gitlab CI示例(.gitlab-ci.yml)

以下示例展示了在Gitlab CI中从Gitlab容器仓库拉取镜像并推送到AWS ECR的配置:

yaml
deploy:api:ecr-image:
  image: bentolor/docker-dind-awscli
  services:
    - name: docker:dind  # 启动独立的dind容器作为Docker守护进程
  stage: publish-aws
  script:
    # 获取本地Docker镜像,重命名并推送到目标环境
    - docker info  # 验证Docker客户端是否正常工作
    - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN gitlab.foo.bar:4567  # 登录Gitlab容器仓库
    - docker pull $LOCAL_IMAGE_NAME:$CI_COMMIT_SHA  # 拉取本地镜像
    - aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $REPOSITORY_HOST_API  # 使用AWS CLI登录ECR
    - docker tag $LOCAL_IMAGE_NAME:$CI_COMMIT_SHA $REPOSITORY_HOST_API/myservice:latest  # 重命名镜像
    - docker push $REPOSITORY_HOST_API/myservice:latest  # 推送镜像到ECR
  only:
    - master  # 仅在master分支触发

说明:通过 services 启动 docker:dind 容器作为Docker守护进程,Gitlab CI会自动设置 DOCKER_HOST 环境变量,使本镜像中的Docker客户端连接到该守护进程。

升级说明

自2021-10-15起,本镜像不再基于已停止维护的 docker:stable 标签(Docker v19),而是基于 docker:latest 标签。如果此变更导致构建失败,可以暂时使用 bentolor/docker-dind-awscli:2.2.36 版本。

docker:dind vs docker:latest

概念区别

  • docker:dind:允许在Docker守护进程中运行另一个Docker守护进程(即Docker-in-Docker),暴露2375/2376端口提供Docker服务
  • docker:latest:仅包含Docker客户端,需连接到外部Docker守护进程(通过 DOCKER_HOST 指定)

本镜像的两种使用方式

  1. 使用独立的dind服务(推荐):

    • 启动 docker:dind 作为服务容器(提供Docker守护进程)
    • 使用 bentolor/docker-dind-awscli 替代 docker:latest 作为客户端容器,在其中运行 dockeraws 命令
  2. 在dind容器内运行命令

    • 直接使用 bentolor/docker-dind-awscli:dind 替代 docker:dind,在容器内同时运行Docker守护进程和客户端命令(包含 aws 工具)

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"