admin_grundlagen:docker:build
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| admin_grundlagen:docker:build [2026/05/08 14:09] – ingo_wichmann | admin_grundlagen:docker:build [2026/10/09 20:58] (aktuell) – ingo_wichmann | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== | + | ====== Docker Image selbst bauen ====== |
| ===== Pakete ===== | ===== Pakete ===== | ||
| - | * Rocky Linux (9): | + | === Rocky Linux (10): === |
| - | * erst '' | + | dnf config-manager --enable crb |
| - | | + | dnf install -y epel-release |
| - | | + | dnf install -y debootstrap |
| + | === Debian (ab 12) === | ||
| + | apt install -y debootstrap | ||
| - | ===== Image bauen ===== | + | ===== Image aus tar-Archiv |
| (( anders als das Image aus https:// | (( anders als das Image aus https:// | ||
| + | sudo debootstrap --variant=minbase trixie ./debian http:// | ||
| + | (( im Linuxhotel-Netzwerk lokalen Spiegelserver benutzen: | ||
| sudo debootstrap --variant=minbase trixie ./debian http:// | sudo debootstrap --variant=minbase trixie ./debian http:// | ||
| + | )) | ||
| + | (( unter RockyLinux '' | ||
| + | sudo debootstrap --variant=minbase --keyring=/ | ||
| + | )) | ||
| sudo tar cC debian/ . | docker image import - ingo/ | sudo tar cC debian/ . | docker image import - ingo/ | ||
| Tag '' | Tag '' | ||
| Zeile 16: | Zeile 24: | ||
| ==== testen ==== | ==== testen ==== | ||
| - | docker container run ingo/ | + | docker container run --rm ingo/ |
| + | -> Ausgabe von '' | ||
| - | ====== Dockerfile - Docker Images weiterbauen ====== | + | (( Wenn nicht: |
| - | mkdir nginx | + | docker container run --rm ingo/debian cat /etc/resolv.conf |
| - | cd nginx | + | -> Nameserver kommt von Docker, nicht aus dem Image |
| - | <file txt Dockerfile> | + | |
| - | FROM ingo/ | + | |
| - | + | ||
| - | 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' | + | |
| - | EXPOSE 80 | + | |
| - | ENTRYPOINT ["/ | + | |
| - | + | ||
| - | ARG REFRESHED_AT=2026-01-07 | + | |
| - | LABEL version=" | + | |
| - | LABEL maintainer=" | + | |
| - | LABEL org.opencontainers.image.authors=" | + | |
| - | LABEL org.opencontainers.image.created=$REFRESHED_AT | + | |
| - | </ | + | |
| - | + | ||
| - | ++++ ENTRYPOINT / CMD / run-Command | | + | |
| - | ^ '' | + | |
| - | |< | + | |
| - | |< | + | |
| - | |< | + | |
| - | |< | + | |
| - | | | < | + | |
| - | | | < | + | |
| - | | | | | < | + | |
| - | ++++ | + | |
| - | Image mit den Erweiterungen aus dem '' | + | |
| - | docker build -t=' | + | |
| - | Image anzeigen: | + | |
| - | docker image ls ingo/ | + | |
| - | -> id rauskopieren (z.B. '' | + | |
| - | Image taggen: | + | |
| - | docker image tag 5879d7773761 ingo/ | + | |
| - | Container starten: | + | |
| - | docker container run -d -p 80:80 --name my_nginx | + | |
| - | Zugriff auf nginx testen: | + | |
| - | curl -s http://localhost: | + | |
| - | -> im Browser http:// | + | |
| - | + | ||
| - | ====== | + | |
| - | <file txt Dockerfile> | + | |
| - | … | + | |
| - | RUN ln -sf /dev/stdout / | + | |
| - | && ln -sf /dev/stderr / | + | |
| - | … | + | |
| - | </ | + | |
| - | + | ||
| - | docker build --no-cache --pull -t=' | + | |
| - | + | ||
| - | Jetzt noch mal testen und | + | |
| - | docker logs | + | |
| - | ansehen. | + | |
| - | + | ||
| - | Bauen mit einem Release Zeitstempel: | + | |
| - | + | ||
| - | <code shell> | + | |
| - | REFRESHED_AT=$(date ' | + | |
| - | docker build --no-cache --pull \ | + | |
| - | --build-arg REFRESHED_AT=$REFRESHED_AT \ | + | |
| - | -t=' | + | |
| - | -t=ingo/ | + | |
| - | </ | + | |
| + | Ändern mit: | ||
| + | docker container run --rm --dns 192.168.1.5 ingo/ | ||
| + | docker container run --rm --dns 192.168.1.5 ingo/ | ||
| + | )) | ||
admin_grundlagen/docker/build.1778249399.txt.gz · Zuletzt geändert: 2026/05/08 14:09 von ingo_wichmann
