Guten Abend,
ich verzweifel gerade daran, dass Docker ausgerechnet bei der Kombination aus PHP und Apache Probleme zu haben scheint.
Ich habe das 101-Tutorial für Docker gemacht und in diesem Rahmen an einer Node.js-Anwendung gearbeitet und alles hat einwandfrei funktioniert.
Im Anschluss wollte ich dann anfangen, für ein Projekt eine Umgebung mit PHP und Apache einzurichten.
Dabei bin ich im Grunde genau dem Tutorial gefolgt: https://bitpress.io/simple-approach-using-docker-with-php/
Was ist nun? Wenn ich mittels
Irgendwie kommt mir dieses Problem bekannt vor. Ich glaube, daran habe ich mir schon mal die Zähne ausgebissen...
Wenn ich übrigens jedoch einen beliebigen anderen Port wähle (z.B. 8080), bekomme ich stattdessen in Chrome einen err_ssl_protocol_error und die Logs des Containers zeigen ungefähr sowas in die Richtung:
Es scheint in dem Fall also durchaus was durchzukommen.
Wähle ich hingegen den Standardport 80, taucht auch in den Logs nichts auf.
Mein Dockerfile:
vhost.conf
Hat irgendwer eine Idee, was ich gegen dieses Problem tun kann?
Ich habe unter anderem auch schon ähnliche GitHub-Issues zu dem Thema gefunden. Das ist auf jeden Fall kein neues Problem, wurde angeblich aber schon gefixt.
Schon mal vielen Dank im Voraus!
Viele Grüße
JR Cologne
ich verzweifel gerade daran, dass Docker ausgerechnet bei der Kombination aus PHP und Apache Probleme zu haben scheint.
Ich habe das 101-Tutorial für Docker gemacht und in diesem Rahmen an einer Node.js-Anwendung gearbeitet und alles hat einwandfrei funktioniert.
Im Anschluss wollte ich dann anfangen, für ein Projekt eine Umgebung mit PHP und Apache einzurichten.
Dabei bin ich im Grunde genau dem Tutorial gefolgt: https://bitpress.io/simple-approach-using-docker-with-php/
Was ist nun? Wenn ich mittels
docker run -dp 80:80 myapp
den Container starte, kann ich auf diesen nicht über localhost zugreifen (Chrome: err_connection_refused).Irgendwie kommt mir dieses Problem bekannt vor. Ich glaube, daran habe ich mir schon mal die Zähne ausgebissen...
Wenn ich übrigens jedoch einen beliebigen anderen Port wähle (z.B. 8080), bekomme ich stattdessen in Chrome einen err_ssl_protocol_error und die Logs des Containers zeigen ungefähr sowas in die Richtung:
Code:
172.17.0.1 - - [21/Mar/2020:21:43:06 +0000] "GET / HTTP/1.1" 301 501 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"
172.17.0.1 - - [21/Mar/2020:21:43:06 +0000] "GET /robots.txt HTTP/1.1" 301 519 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"
172.17.0.1 - - [21/Mar/2020:21:43:06 +0000] "\x16\x03\x01\x02" 400 0 "-" "-"
Es scheint in dem Fall also durchaus was durchzukommen.
Wähle ich hingegen den Standardport 80, taucht auch in den Logs nichts auf.
Mein Dockerfile:
Code:
FROM php:7.4-apache
COPY . /srv/app
COPY .docker/vhost.conf /etc/apache2/sites-available/000-default.conf
RUN chown -R www-data:www-data /srv/app && a2enmod rewrite
vhost.conf
Apache-Konfiguration:
<VirtualHost *:80>
DocumentRoot /srv/app/public
<Directory "/srv/app/public">
AllowOverride all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Hat irgendwer eine Idee, was ich gegen dieses Problem tun kann?
Ich habe unter anderem auch schon ähnliche GitHub-Issues zu dem Thema gefunden. Das ist auf jeden Fall kein neues Problem, wurde angeblich aber schon gefixt.
Schon mal vielen Dank im Voraus!
Viele Grüße
JR Cologne