Как перезаписать конфигурацию по умолчанию nginx файлом докера?

Я знаю, что этот или аналогичный вопрос уже задавался, но я уже некоторое время борюсь с ним. У меня есть приложение, использующее реагирующий маршрутизатор, и я сделал для него образ докера, и я использую сервер nginx, и он работает. Но когда я хочу обновить страницу, я выдаю ошибку 404 nginx. Я знаю, что мне нужно перезаписать файл конфигурации nginx, чтобы он заработал, но не знаю, почему он не работает. Я попытался сделать какое-то перенаправление в nginx.conf, чтобы посмотреть, не перекрывает ли он default.conf, но это не работает. Это мои файлы:

Dockerfile:

FROM nginx:alpine
COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf
COPY --from=build /app/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

nginx.conf

server {
    listen       80 default;
    server_name  localhost;
    return 301 https://www.google.com;
 }

РЕДАКТИРОВАТЬ:

А как проверить какой конфиг файл запущен?


person bobby    schedule 15.01.2019    source источник
comment
какой URL вы используете для доступа к контейнеру?   -  person JorgeeFG    schedule 15.01.2019
comment
localhost - я разрушаю контейнер с помощью docker run -p 80:80 frontend   -  person bobby    schedule 15.01.2019


Ответы (1)


Я считаю, тебе следует использовать

COPY ./nginx/default.conf /etc/nginx/nginx.conf 

Если вы хотите организовать вещи в conf.d/, добавьте include /etc/nginx/conf.d/* в /etc/nginx/nginx.conf перед добавлением вещей в conf.d/

Полный файл конфигурации:

worker_processes 4;

events {
    worker_connections  1024;
}

http {
  server {
      listen       80 default;
      server_name  localhost;
      return 301 https://www.google.com$request_uri;
  }
}
person Siyu    schedule 15.01.2019
comment
можешь попробовать этот файл конфигурации? возможно, nginx не запустился - person Siyu; 15.01.2019
comment
спасибо за помощь, но все еще не решает его ... не думаю, что это не удалось, потому что при обновлении я получаю ошибку 404 от nginx - person bobby; 15.01.2019
comment
да, моя ошибка, когда я копировал код, я редактировал сейчас, но это не проблема, мой ngix conf все еще не отменяет значение по умолчанию - person bobby; 15.01.2019
comment
У меня такой же dockerfile, что и у вас, у меня работает. Убедитесь, что запущен не другой nginx, перестройте образ и запустите его. - person Siyu; 15.01.2019
comment
Я сделал все это, удалил все незакрытые изображения (было два разных nginx), затем перестроил его и запустил, теперь у меня работает только один, все еще не работает - person bobby; 15.01.2019
comment
хорошо, я не могу поверить, что я делал, я запускал неправильный образ докера, все работает нормально - person bobby; 15.01.2019