feat: add more DinD
This commit is contained in:
62
builds/debian-dind/Dockerfile
Normal file
62
builds/debian-dind/Dockerfile
Normal file
@@ -0,0 +1,62 @@
|
||||
ARG DEBIAN_VERSION=13.2
|
||||
FROM debian:${DEBIAN_VERSION}
|
||||
|
||||
# Install dependencies
|
||||
# ca-certificates, curl, gnupg: for downloading Docker repo key
|
||||
# iptables: required for Docker networking
|
||||
# procps: for ps command
|
||||
# xz-utils, pigz: for compression
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
curl \
|
||||
gnupg \
|
||||
iptables \
|
||||
procps \
|
||||
e2fsprogs \
|
||||
xfsprogs \
|
||||
xz-utils \
|
||||
pigz \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install Docker
|
||||
# We use the official Docker repository for Debian
|
||||
RUN install -m 0755 -d /etc/apt/keyrings \
|
||||
&& curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg \
|
||||
&& chmod a+r /etc/apt/keyrings/docker.gpg \
|
||||
&& echo \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
|
||||
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
||||
tee /etc/apt/sources.list.d/docker.list > /dev/null \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
docker-ce \
|
||||
docker-ce-cli \
|
||||
containerd.io \
|
||||
docker-buildx-plugin \
|
||||
docker-compose-plugin \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install NVIDIA Container Toolkit (Optional)
|
||||
ARG INSTALL_NVIDIA_TOOLKIT=false
|
||||
RUN if [ "$INSTALL_NVIDIA_TOOLKIT" = "true" ]; then \
|
||||
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
|
||||
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
|
||||
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
|
||||
tee /etc/apt/sources.list.d/nvidia-container-toolkit.list \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y nvidia-container-toolkit \
|
||||
&& nvidia-ctk runtime configure --runtime=docker \
|
||||
&& rm -rf /var/lib/apt/lists/*; \
|
||||
fi
|
||||
|
||||
# Set up dind
|
||||
# Docker needs a place to store data
|
||||
VOLUME /var/lib/docker
|
||||
|
||||
# Copy entrypoint script
|
||||
COPY dockerd-entrypoint.sh /usr/local/bin/
|
||||
RUN chmod +x /usr/local/bin/dockerd-entrypoint.sh
|
||||
|
||||
# Define entrypoint and default command
|
||||
ENTRYPOINT ["dockerd-entrypoint.sh"]
|
||||
CMD ["dockerd"]
|
||||
Reference in New Issue
Block a user