I am using latest Docker for mac. I am running into this strange issue. I can access my webapp via http://127.0.0.1/ but not http://localhost/ however I can access https://localhost/ (self signed cert). So, I am not sure what is wrong here.
This is my docker compose.
version: "3"
services:
php:
build:
context: .
container_name: php
volumes:
- .:/var/www/html
- conf:/etc/apache2/sites-enabled
ports:
- "80:80"
- "443:443"
and this is my Apache config
<VirtualHost _default_:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile /etc/apache2/certs/localhost.crt
SSLCertificateKeyFile /etc/apache2/certs/localhost.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
</IfModule>
You can try with docker.for.mac.localhost
Just putting @danwild comment in answer form for more visibility.
You can now access localhost from within the container using host.docker.internal. See the docs
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With