Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:docker:apache_httpd_mit_docker

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:apache_httpd_mit_docker [2026/05/08 14:37]
ingo_wichmann
admin_grundlagen:docker:apache_httpd_mit_docker [2026/06/02 09:39] (aktuell)
peter_rossbach2
Zeile 1: Zeile 1:
 ====== Apache httpd von Docker ====== ====== Apache httpd von Docker ======
 siehe https://​hub.docker.com/​_/​httpd siehe https://​hub.docker.com/​_/​httpd
- 
-==== Hinweis für Podman ==== 
- 
-Für podmand ''​docker''​ durch ''​podman''​ ersetzen und alle Images ggf. mit ''​docker.io/''​ prefixen. 
  
 ===== persistente Daten für den Container anlegen ===== ===== persistente Daten für den Container anlegen =====
 +++++ Podman |
 +Wenn SELinux aktiv ist, vielleicht ''/​var/​lib/​containers''​ anstelle von ''/​srv/​docker''​ verwenden. Da sind die passenden Berechtigungen bereits gesetzt. ​
 +++++
   mkdir -p /​srv/​docker/​httpd/​htdocs   mkdir -p /​srv/​docker/​httpd/​htdocs
   cd /​srv/​docker/​httpd   cd /​srv/​docker/​httpd
Zeile 20: Zeile 19:
 </​code>​ </​code>​
 ===== erster Start ===== ===== erster Start =====
-  ​docker run -d --name hello-httpd -p 8888:80 -v '/​srv/​docker/​httpd/​htdocs:/​usr/​local/​apache2/​htdocs/'​ httpd:2.4+++++ podman | 
 +Wenn SELinux aktiv ist '':​Z''​ hinzufügen. Das veranlasst Podman, das Volume mit einem privaten SELinux-Kontext zu relabeln, wodurch der Container Zugriff darauf erhält. 
 +  podman run -d --name hello-httpd -p 8888:80 -v '/srv/docker/​httpd/​htdocs:/​usr/​local/​apache2/​htdocs/:​Z'​ httpd:2.4 
 +++++ 
 +  docker container ​run -d --name hello-httpd -p 8888:80 -v '/​srv/​docker/​httpd/​htdocs:/​usr/​local/​apache2/​htdocs/'​ httpd:2.4
 -> http://​localhost:​8888 -> http://​localhost:​8888
   curl http://​localhost:​8888   curl http://​localhost:​8888
Zeile 27: Zeile 30:
 )) ))
   docker container inspect -f '​{{.Config.WorkingDir}}'​ hello-httpd   docker container inspect -f '​{{.Config.WorkingDir}}'​ hello-httpd
-Betreten ​der Instanz+ 
-  docker exec -it hello-httpd /bin/bash+Mounts herausfinden:​ 
 +  docker container inspect -f '{{ json .Mounts }}' hello-httpd | jq 
 +   
 +Betreten ​des Containers
 +  docker ​container ​exec -it hello-httpd /bin/bash
   ls conf/​httpd.conf   ls conf/​httpd.conf
   exit   exit
-Instanz ​löschen: +Container ​löschen: 
-  docker ​stop hello-httpd +  docker ​container rm -hello-httpd
-  docker rm hello-httpd+
  
 ===== Start mit eigener Konfigurationsdatei ===== ===== Start mit eigener Konfigurationsdatei =====
Zeile 39: Zeile 45:
 Extrahieren der Konfigurationsdatei:​ Extrahieren der Konfigurationsdatei:​
   cd /​srv/​docker/​httpd   cd /​srv/​docker/​httpd
-  docker run --rm httpd:2.4 cat /​usr/​local/​apache2/​conf/​httpd.conf > httpd.conf+  docker ​container ​run --rm httpd:2.4 cat /​usr/​local/​apache2/​conf/​httpd.conf > httpd.conf
 Konfigurationsdatei bearbeiten: Konfigurationsdatei bearbeiten:
   sed -i.bak '​s/​^Listen 80/Listen 8001/' httpd.conf   sed -i.bak '​s/​^Listen 80/Listen 8001/' httpd.conf
   diff httpd.conf{,​.bak}   diff httpd.conf{,​.bak}
 Starten: Starten:
-  docker run -d --name httpd_8001 -p 8888:8001 -v '/​srv/​docker/​httpd/​htdocs:/​usr/​local/​apache2/​htdocs/'​ -v '/​srv/​docker/​httpd/​httpd.conf:/​usr/​local/​apache2/​conf/​httpd.conf'​ httpd:2.4+  docker ​container ​run -d --name httpd_8001 -p 8888:8001 -v '/​srv/​docker/​httpd/​htdocs:/​usr/​local/​apache2/​htdocs/'​ -v '/​srv/​docker/​httpd/​httpd.conf:/​usr/​local/​apache2/​conf/​httpd.conf'​ httpd:2.4
 -> http://​localhost:​8888 -> http://​localhost:​8888
  
-Löschen+Container löschen
-  docker ​stop httpd_8001 +  docker ​container ​rm -f httpd_8001
-  docker ​rm httpd_8001+
 ==== mit Dockerfile ==== ==== mit Dockerfile ====
 <code Dockerfile Dockerfile>​ <code Dockerfile Dockerfile>​
Zeile 58: Zeile 63:
   docker build -t='​ingo/​apache:​0.0.1'​ .   docker build -t='​ingo/​apache:​0.0.1'​ .
   docker container run -d -P ingo/​apache:​0.0.1   docker container run -d -P ingo/​apache:​0.0.1
-  docker container ​ps+  docker container ​ls
 -> ''​->​8001/​tcp''​ -> ''​->​8001/​tcp''​
  
Zeile 66: Zeile 71:
 -> altes ''​expose''​ ist noch enthalten -> altes ''​expose''​ ist noch enthalten
  
-++++ Das zu lösen ist kompliziert|+++++ Das zu lösen ist komplizierter|
  
   docker image history --no-trunc httpd:2.4   docker image history --no-trunc httpd:2.4
Zeile 87: Zeile 92:
   docker build -t='​ingo/​apache:​0.0.1'​ .   docker build -t='​ingo/​apache:​0.0.1'​ .
   docker container run -d -P ingo/​apache:​0.0.1   docker container run -d -P ingo/​apache:​0.0.1
-  docker container ​ps+  docker container ​ls
 -> ''​->​8001/​tcp''​ -> ''​->​8001/​tcp''​
 ++++ ++++
  
admin_grundlagen/docker/apache_httpd_mit_docker.1778251029.txt.gz · Zuletzt geändert: 2026/05/08 14:37 von ingo_wichmann