All Projects → bentolor → docker-dind-awscli

bentolor / docker-dind-awscli

Licence: MIT license
A Docker image for Docker-in-Docker (dind) with AWS CLI v2 awscli tool included

Programming Languages

Dockerfile
14818 projects

Projects that are alternatives of or similar to docker-dind-awscli

docker-node-ci
The Docker image based on the official "node" image optimized for a CI environment
Stars: ✭ 18 (-50%)
Mutual labels:  alpine, aws-cli, alpine-linux
Socat
Run socat command in alpine container
Stars: ✭ 53 (+47.22%)
Mutual labels:  alpine, alpine-linux
Dockerfiles
Discontinued. Fork at your will.
Stars: ✭ 384 (+966.67%)
Mutual labels:  alpine, alpine-linux
Pieman
Script for creating custom OS images for single-board computers
Stars: ✭ 149 (+313.89%)
Mutual labels:  alpine, alpine-linux
docker-aws-s3-sync
Docker container to sync a folder to Amazon S3
Stars: ✭ 21 (-41.67%)
Mutual labels:  alpine, alpine-linux
rails5-docker-alpine
Lightweight Docker development environment for Rails using Alpine Linux
Stars: ✭ 71 (+97.22%)
Mutual labels:  alpine, alpine-linux
Docker Oidc Proxy
Docker Image built on Alpine Linux for secure OpenID Connect (OIDC) proxy authentication
Stars: ✭ 91 (+152.78%)
Mutual labels:  alpine, alpine-linux
alpine-php-wordpress
Wordpress running on Alpine Linux [Docker]
Stars: ✭ 30 (-16.67%)
Mutual labels:  alpine, alpine-linux
http-server
A Java HTTP server in 35MB Docker image
Stars: ✭ 17 (-52.78%)
Mutual labels:  alpine, alpine-linux
alpine-qbittorrent-openvpn
qBittorrent docker container with OpenVPN client running as unprivileged user on alpine linux
Stars: ✭ 230 (+538.89%)
Mutual labels:  alpine, alpine-linux
docker-nagios
Docker image for Nagios Core in Alpine Linux with basic plugins, available for x86, x64 , ARM v6, ARM v7 and ARM64.
Stars: ✭ 33 (-8.33%)
Mutual labels:  alpine, alpine-linux
docker-alpine-sshd
A lightweight OpenSSH Docker Image built atop Alpine Linux.
Stars: ✭ 108 (+200%)
Mutual labels:  alpine, alpine-linux
alpine-buildpack-deps
An attempt at a "buildpack-deps"-like Docker image with Alpine Linux
Stars: ✭ 30 (-16.67%)
Mutual labels:  alpine, alpine-linux
alpine-vagrant
This builds an up-to-date Vagrant Alpine Linux Base Box
Stars: ✭ 22 (-38.89%)
Mutual labels:  alpine, alpine-linux
alpinist
Automatic Alpine Linux Package (apk) Repository Generation using AWS Lambda, S3 & SSM Parameter Store
Stars: ✭ 45 (+25%)
Mutual labels:  alpine, alpine-linux
Docker Ruby Node
🐳 Alpine Docker Image with latest versions of Ruby, Node.js and yarn installed. This Docker Image is actively maintained and updated regularly.
Stars: ✭ 74 (+105.56%)
Mutual labels:  alpine, alpine-linux
docker flutter
Alpine Linux image for Flutter & Dart with helpful utils and web build support.
Stars: ✭ 33 (-8.33%)
Mutual labels:  alpine, alpine-linux
docker-geoserver
A basic docker geoserver image with JAI and marlin renderer running on tomcat
Stars: ✭ 17 (-52.78%)
Mutual labels:  alpine, alpine-linux
Termuxalpine
Use TermuxAlpine.sh calling to install Alpine Linux in Termux on Android. This setup script will attempt to set Alpine Linux up in your Termux environment.
Stars: ✭ 224 (+522.22%)
Mutual labels:  alpine, alpine-linux
pi-factory
Bootstrap a bitcoin lightning box for Raspberry Pi 3 based on Alpine Linux
Stars: ✭ 17 (-52.78%)
Mutual labels:  alpine, alpine-linux

Docker for Docker-in-Docker (dind) with Amazon AWS CLI v2.x awscli

bentolor/docker-dind-awscli is a drop-in replacement for docker:stable in situations where you'd also want to use awscli at the same time. This addresses the new awscli v2.

Important note: Since 2021-10-15 this image no longer is based on the no longer maintained docker:stable tag (Docker v19) but now is based on the docker:latest tag. If this breaked your build you might quick-resort into using bentolor/docker-dind-awscli:2.2.36.

If you face the simple problem that you want to do a simple aws ecr set-login-password … | docker login … inside your Docker-based CI pipeline, you might stumble over the following problems:

  • The official docker:stable Image does not have Python, pip or the aws tools installed
  • The popular awscli images do not provide Docker support
  • Even manually installing awscli into docker:stable as described in the official AWS CLI documentation does not work,

The last point is because docker:stable is based on Alpine Liinux and awscli does not work on Alpine distribution due to missing glibc libraries.

This repository reflects a workaround as described by @blagerweij in this upstream issue. Basically it

  1. Starts of docker:latest
  2. Downloads & install glibc libraries for Apline from https://github.com/sgerrand/alpine-pkg-glibc/
  3. Downloads & insstalls `awscli´ using the method described in https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html

Example usage for illustration: .gitlab-ci.yml

A synthetical example pulling a docker image by SHA1 from gitlab repository and pushing it to an ECR instance.

deploy:api:ecr-image:
  image: bentolor/docker-dind-awscli
  services:
    - name: docker:dind 
  stage: publish-aws
  script:
    # Fetch local docker image, rename & push to target environment
    - docker info
    - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN gitlab.foo.bar:4567
    - 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
    - docker tag $LOCAL_IMAGE_NAME:$CI_COMMIT_SHA $REPOSITORY_HOST_API/myservice:latest
    - docker push $REPOSITORY_HOST_API/myservice:latest
  only:
  - master
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].