@knowledge

Что не так с настройкой сайта в docker?

мой стартовый проект на докер содержит три маленьких файла
docker-compose.yml
version: '3'
services:
  web:
    image: nginx:1.15
    ports:
      - 8888:80
    volumes:
      - ./conf/doc.loc:/etc/nginx/sites-enabled/doc.loc
      - .:/app

doc.loc
server {
    listen 80;
    server_name doc.loc;
    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;
	}
}

и index.html
<h3>HELLO, WORLD</h3>

после запуска docker-compose up по адресу localhost:8888/ открывается стартовая страница nginx
что я забыл добавить?
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
@ghostiam
На Go писатель, серверов пинатель.
Всё верно, у вас открывается сайт по 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;
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы