@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
что я забыл добавить?
  • Вопрос задан
  • 70 просмотров
Решения вопроса 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;
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
Irecommend.ru Краснодар
от 70 000 до 130 000 руб.
Admon Новосибирск
от 50 000 до 70 000 руб.
3ATDev Севастополь
от 60 000 до 120 000 руб.