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