Я пытаюсь запустить приложение React в NGINX контейнере Alpine, но всякий раз, когда я изменяю приложение React, снова создаю производственную сборку и копирую обновленную папку сборки с моего компьютера в контейнер, старая версия приложения все еще работает
Мой Dockerfile выглядит следующим образом
FROM nginx:alpine
COPY ./nginx_conf /etc/nginx/nginx.conf
COPY ./build/ /var/www/build/
EXPOSE 80
Я попытался создать изображение без использования кэша (sudo docker build --no-cache -t image_name .
), удалить изображение и затем построить его снова, и даже изменил имя папки сборки с моей машины и попытался скопировать его в разные папки в контейнере (конечно, изменив конфигурацию сервера соответственно)
Конфигурация сервера выглядит следующим образом
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
access_log /var/log/nginx/access.log;
keepalive_timeout 3000;
server {
listen 80;
root /var/www/build;
index index.html;
server_name localhost;
client_max_body_size 64m;
error_page 500 502 503 504 /50x.html;
location / {
try_files $uri /index.html;
}
}
}
Файл dockerignore (все файлы и папки, кроме build / исключены)
/node_modules
/public
/src
/.env
/package.json
/package-lock.json
/.gitignore
/README.md
Как решить эту проблему? Я что-то не так сделал или это ошибка в Docker?
Я знаю, что могу просто смонтировать папку build / со своей машины в контейнере, но я хотел бы скопировать ее в контейнер вместо ссылки на нее из контейнера