admin_grundlagen:docker:build
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
erstes Docker Image selbst bauen
Pakete
Rocky Linux (10):
dnf config-manager --enable crb dnf install -y epel-release dnf install -y debootstrap
Debian (ab 12)
apt install -y debootstrap
Image bauen
sudo debootstrap --variant=minbase trixie ./debian http://debian/debian sudo tar cC debian/ . | docker image import - ingo/debian:trixie
Tag latest hinzufügen:
docker image ls ingo/debian:trixie
→ id rauskopieren (z.B. dc9f1edde160)
docker image tag dc9f1edde160 ingo/debian:latest
testen
docker container run ingo/debian echo hello world
→ hello world
Dockerfile - Docker Images weiterbauen
mkdir nginx cd nginx
- Dockerfile
FROM ingo/debian:trixie ENV DEBIAN_FRONTEND=noninteractive RUN set -eux; \ apt-get -qq update; \ apt-get install -y --no-install-recommends nginx RUN echo 'A warm welcome from your Dockerfile' > /var/www/html/index.html EXPOSE 80 ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;"] ARG REFRESHED_AT=2026-01-07 LABEL version="0.0.1" LABEL maintainer="me@example.com" LABEL org.opencontainers.image.authors="me@example.com" LABEL org.opencontainers.image.created=$REFRESHED_AT
ENTRYPOINT / CMD / run-Command
Image mit den Erweiterungen aus dem Dockerfile bauen:
docker build -t='ingo/nginx:0.0.1' .
Image anzeigen:
docker image ls ingo/nginx:0.0.1
→ id rauskopieren (z.B. 5879d7773761)
Image taggen:
docker image tag 5879d7773761 ingo/nginx:latest
Container starten:
docker container run -d -p 80:80 --name my_nginx ingo/nginx
Zugriff auf nginx testen:
curl -s http://localhost:80
→ im Browser http://localhost öffnen
Docker Image aktualisieren
- Dockerfile
… RUN ln -sf /dev/stdout /var/log/nginx/access.log \ && ln -sf /dev/stderr /var/log/nginx/error.log …
docker build --no-cache --pull -t='ingo/nginx:0.0.2' .
Jetzt noch mal Container starten und
docker logs
ansehen.
Bauen mit einem Release Zeitstempel:
REFRESHED_AT=$(date '+%Y-%m-%d') docker build --no-cache --pull \ --build-arg REFRESHED_AT=$REFRESHED_AT \ -t='ingo/nginx:0.0.2' \ -t=ingo/nginx:$REFRESHED_AT .
1)
anders als das Image aus https://hub.docker.com/_/debian ist dieses Image nicht reproduzierbar
3)
https://docs.docker.com/reference/dockerfile/#understand-how-cmd-and-entrypoint-interact sagt
error, not allowed. Docker Version 20.10.24+dfsg1 hat bash ausgeführt.admin_grundlagen/docker/build.1779480146.txt.gz · Zuletzt geändert: 2026/05/22 20:02 von ingo_wichmann
