Всё верно, у вас открывается сайт по localhost, который соответствует конфигу по умолчанию с
server_name _;
В вашем конфиге указан
server_name doc.loc
, то есть, если обратится к
doc.loc:8888 прописав перед этим в hosts файл "127.0.0.1 doc.loc" то будет открываться то что вы задали.
Если же нужно, чтоб работало только по localhost, то просто перезапишите конфиг по умолчанию:
...
volumes:
- ./conf/doc.loc:/etc/nginx/sites-enabled/default
...
в таком случае, конфигурация должна выглядеть так:
docker-compose.yml
version: '3'
services:
web:
image: nginx:1.15
ports:
- 8888:80
volumes:
- ./conf/doc.loc:/etc/nginx/sites-enabled/default
- .:/app
doc.loc
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
index index.html index.php;
root /app/public;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
location / {
try_files $uri $uri/ =404;
}
}