Почему NextJS, использующий контейнер Docker, не перезагрузился после изменения кода для среды разработки? - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь запустить NextJS в контейнере Docker, используя Dockerfile и работающий через docker-compose, после того, как я изменил свой код в файле JS (например, index.js), сервер Next не перезагрузился.

Но когда я попытался выйти на улицу без использования Docker (выполнив команду «npm run dev» напрямую), сервер Next перезагрузился гладко.

Я также пытался запустить сервер с помощью команды "nodemon" (внутри контейнера), он тоже не сделал этого.

Dockerfile:

FROM node:10.14.2-alpine
COPY . /home/next_app
WORKDIR /home/next_app
RUN npm install

докер-compose.yml:

version: "3.6"
services:
  self_nextjs:
    container_name: self_nextjs
    build:
        context: ./app
        dockerfile: Dockerfile
    ports:
        - 3000:3000
    volumes:
        - ./app:/home/next_app
        - /home/next_app/node_modules
    networks:
        - zen_frontend
    restart: always
    command: npm run dev

networks:
  zen_frontend:
      name: zen_frontend
      driver: bridge

Любые предложения будут оценены.

1 Ответ

0 голосов
/ 10 января 2019

Тестировали ли вы, выставляя порт горячей перезагрузки веб-пакета по умолчанию?

добавить к вашему Dockerfile

...
EXPOSE 49153
...

и обновите свой docker-compose.yml

version: "3.6"
services:
  self_nextjs:
    container_name: self_nextjs
    build:
        context: ./app
        dockerfile: Dockerfile
    ports:
        - 3000:3000
        - 49153:49153
    volumes:
        - ./app:/home/next_app
        - /home/next_app/node_modules
    networks:
        - zen_frontend
    restart: always
    command: npm run dev

networks:
  zen_frontend:
      name: zen_frontend
      driver: bridge

Надеюсь, эта помощь,

Привет

...