Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:docker:build

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:docker:build [2026/05/30 17:12]
peter_rossbach2 [Docker Image aktualisieren]
admin_grundlagen:docker:build [2026/06/01 12:13] (aktuell)
peter_rossbach2 [Docker Image aktualisieren]
Zeile 111: Zeile 111:
 <code bash> <code bash>
 mkdir ~/​ubi9-nginx && cd ~/​ubi9-nginx mkdir ~/​ubi9-nginx && cd ~/​ubi9-nginx
-cat >​Dockerfile <<EOF+cat >​Dockerfile <<EOR
 FROM registry.access.redhat.com/​ubi9/​ubi-init FROM registry.access.redhat.com/​ubi9/​ubi-init
 +RUN cat <<'​EOF'​ >/​etc/​yum.repos.d/​nginx.repo
 +[nginx-stable]
 +name=nginx stable repo
 +baseurl=http://​nginx.org/​packages/​rhel/​9/​\$basearch/​
 +gpgcheck=1
 +enabled=1
 +gpgkey=https://​nginx.org/​keys/​nginx_signing.key
 +module_hotfixes=true
 +EOF
 +
 RUN dnf -y install nginx \ RUN dnf -y install nginx \
  &&​ dnf clean all \  &&​ dnf clean all \
Zeile 118: Zeile 128:
 STOPSIGNAL SIGRTMIN+3 STOPSIGNAL SIGRTMIN+3
 CMD ["/​sbin/​init"​] CMD ["/​sbin/​init"​]
-EOF+EOR
  
 docker build -t ubi9-nginx-systemd:​0.0.1 . docker build -t ubi9-nginx-systemd:​0.0.1 .
-docker run --name ubi9-nginx -d -p 8090:80 ubi9-nginx-systemd:​0.0.1+docker run --name ubi9-nginx ​--privileged ​-d -p 8090:80 ubi9-nginx-systemd:​0.0.1 
 +docker exec -it ubi9-nginx nginx -v
 docker exec -it ubi9-nginx systemctl status docker exec -it ubi9-nginx systemctl status
 docker exec -it ubi9-nginx journalctl -u nginx docker exec -it ubi9-nginx journalctl -u nginx
Zeile 130: Zeile 141:
 <code bash> <code bash>
 # build with compose # build with compose
-cat >​compose.yml <<EOF+cat >​compose.yml <<EOR
 services: services:
   nginx:   nginx:
     build: .     build: .
 +    privileged: true
     ports:     ports:
       - "​8090:​80" ​   ​       - "​8090:​80" ​   ​
Zeile 141: Zeile 153:
       - /tmp       - /tmp
     stop_signal:​ SIGRTMIN+3     stop_signal:​ SIGRTMIN+3
-EOF+EOR
 docker compose build docker compose build
 docker compose up -d docker compose up -d
Zeile 152: Zeile 164:
 <code bash> <code bash>
  
-cat >​Dockerfile <<EOF+cat >​Dockerfile <<EOR
 FROM registry.access.redhat.com/​ubi9/​ubi-init FROM registry.access.redhat.com/​ubi9/​ubi-init
 +RUN cat <<'​EOF'​ >/​etc/​yum.repos.d/​nginx.repo
 +[nginx-stable]
 +name=nginx stable repo
 +baseurl=http://​nginx.org/​packages/​rhel/​9/​\$basearch/​
 +gpgcheck=1
 +enabled=1
 +gpgkey=https://​nginx.org/​keys/​nginx_signing.key
 +module_hotfixes=true
 +EOF
 +
 RUN dnf -y install nginx \ RUN dnf -y install nginx \
  &&​ dnf clean all  &&​ dnf clean all
  
-# nginx logs -> journal + container console+# nginx logs to files (important for tail) 
 +RUN mkdir -p /​var/​log/​nginx 
 + 
 +# systemd override for nginx
 RUN mkdir -p /​etc/​systemd/​system/​nginx.service.d && \ RUN mkdir -p /​etc/​systemd/​system/​nginx.service.d && \
-    cat <<'​EOF'​ >/​etc/​systemd/​system/​nginx.service.d/​logging.conf+    cat <<'​EOF'​ >/​etc/​systemd/​system/​nginx.service.d/​override.conf
 [Service] [Service]
-StandardOutput=journal+console +StandardOutput=journal 
-StandardError=journal+console +StandardError=journal
- +
-ExecStartPost=/​usr/​bin/​tail -F /​var/​log/​nginx/​access.log+
 EOF EOF
  
-journald -> container console +log forwarder service 
-RUN mkdir -p /​etc/​systemd/​journald.conf.d && \ +RUN cat <<'​EOF'​ >/​etc/​systemd/​system/​nginx-log-forwarder.service 
-    ​cat <<'​EOF'​ >/​etc/​systemd/​journald.conf.d/console.conf +[Unit] 
-[Journal+Description=Nginx log forwarder 
-ForwardToConsole=yes +After=nginx.service 
-TTYPath=/dev/console+Requires=nginx.service 
 +[Service
 +Type=simple 
 +ExecStart=/bin/sh -c '/​usr/​bin/​tail -F /​var/​log/​nginx/​access.log /​var/​log/​nginx/​error.log'​ 
 +Restart=always 
 +[Install] 
 +WantedBy=multi-user.target
 EOF EOF
-RUN systemctl enable nginx+ 
 +RUN systemctl enable nginx 
 + &&​ systemctl enable nginx-log-forwarder
 STOPSIGNAL SIGRTMIN+3 STOPSIGNAL SIGRTMIN+3
 CMD ["/​sbin/​init"​] CMD ["/​sbin/​init"​]
-EOF+EOR 
 + 
 +# docker  
 +docker compose build 
 +docker compose up -d 
 +curl 127.0.0.1:​8090 
 +docker compose exec nginx systemctl status nginx-log-forwarder 
 +docker compose exec nginx journalctl -u nginx-log-forwarder 
 +# see access logs 
 +docker logs nginx_nginx_1 
 + 
 +# podman 
 +podman compose build 
 +podman compose up -d 
 +curl 127.0.0.1:​8090 
 +podman compose exec nginx systemctl status nginx-log-forwarder 
 +podman compose exec nginx journalctl -u nginx-log-forwarder 
 +# see access logs 
 +podman logs nginx_nginx_1 
 +# no logging output!
 </​code>​ </​code>​
 +
 +++++
  
admin_grundlagen/docker/build.1780161168.txt.gz · Zuletzt geändert: 2026/05/30 17:12 von peter_rossbach2