Debian based docker image containing terraform, aws-cli, kubectl and helm.
2.6K
This Docker image is based on Debian and includes a collection of essential tools frequently used in cloud deployment CI pipelines.
The image is updated weekly to ensure all tools are up-to-date, providing a reliable and consistent environment for your CI/CD workflows. Each tool's version is set as a label on the Docker image for easy reference and version management.
docker inspect --format='{{json .Config.Labels}}' dtequipment/cloudtools:latest | jq .
{
"aws_cli_version": "2.17.11",
"debian_version": "12.6",
"helm_version": "v3.15.3+g3bb50bb",
"kubectl_version": "v1.27.4",
"terraform_version": "v1.9.2"
}
Main tools:
Additional tools:
Here is the Dockerfile used to build this image:
FROM debian:stable-slim
# Install dependencies
RUN apt-get update && \
apt-get install -y jq curl wget gettext-base bash postgresql-client openssl zip gnupg gnupg2 procps git lsb-release && \
rm -rf /var/lib/apt/lists/*
# Install AWS CLI
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" \
&& unzip awscliv2.zip \
&& ./aws/install
# Install terraform
RUN wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg \
&& echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/hashicorp.list \
&& apt update && apt install terraform
# Install kubectl
RUN curl -LO "https://dl.k8s.io/release/v1.27.4/bin/linux/amd64/kubectl" \
&& chmod +x kubectl \
&& mv kubectl /bin
# Install helm
RUN curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 \
&& chmod 700 get_helm.sh \
&& ./get_helm.sh
ENV SHELL=/bin/bash
ENTRYPOINT ["/bin/bash"]
CMD [ "-c", "echo 'Hello, World!'"]
To pull the image from DockerHub, use the following command:
docker pull dtequipment/cloudtools
You can run the Docker container interactively or execute specific commands directly. Here are some examples:
To start an interactive shell:
docker run --rm -it dtequipment/cloudtools:latest
To execute a specific command, such as formatting local terraform code by mounting a volume into the container:
docker run --rm --volume=./src:/src dtequipment/cloudtools:latest bash -c "terraform fmt --recursive /src"
Here is an example of how you might use this Docker image in a GitLab CI/CD pipeline:
stages:
- deploy
deploy:
stage: deploy
image: dtequipment/cloudtools:latest
script:
- terraform --version
- aws --version
- kubectl version --client
- helm version
This image is maintained and updated weekly to ensure all tools are up-to-date.
Content type
Image
Digest
sha256:5ecc273bb…
Size
328 MB
Last updated
about 1 year ago
docker pull dtequipment/cloudtools