Nodemon и Forever не работают должным образом в докере - PullRequest
0 голосов
/ 02 февраля 2019

У меня проблема с использованием моего док-контейнера.До сих пор я сгенерировал все необходимые зависимости в моем проекте.Но у меня возникают проблемы при звонке на nodemon или forever.В основном, когда я изменяю некоторый код на моем хосте, эти изменения отражаются в моем контейнере, но сервер не перезагружается.Пожалуйста, помогите мне, вот мой код контейнеров и многое другое:

Dockerfile :

FROM node:8.10

COPY package.json /usr/src/

WORKDIR /usr/src

RUN npm install

# RUN npm install -g nodemon
RUN npm install -g forever

COPY . /usr/src/

EXPOSE 1337

# CMD ["nodemon", "-w", "api", "-w", "config"]
CMD ["forever", "-w", "start", "app.js"]

docker-compose.yml

version: "3"

services:
  app:
    build: .
    depends_on:
      - db
    environment:
      MYSQL_URL: "mysql://db:3306/app"
    ports:
      - "3000:1337"
    volumes:
      - /c/Users/German/Documents/Prueba/DockerSails/:/usr/src/
      - /usr/src/node_modules
  db:
    image: mysql
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: "true"

package.json

{
  "name": "docker-sails",
  "private": true,
  "version": "0.0.0",
  "description": "a Sails application",
  "keywords": [],
  "dependencies": {
    "sails": "^1.1.0",
    "sails-hook-orm": "^2.1.1",
    "sails-hook-sockets": "^1.5.5",
    "@sailshq/lodash": "^3.10.3"
  },
  "devDependencies": {
    "@sailshq/eslint": "^4.19.3",
    "nodemon": "^1.18.9"
  },
  "scripts": {
    "start": "NODE_ENV=production node app.js",
    "test": "npm run lint && npm run custom-tests && echo 'Done.'",
    "lint": "eslint . --max-warnings=0 --report-unused-disable-directives && echo '✔  Your .js files look good.'",
    "custom-tests": "echo \"(No other custom tests yet.)\" && echo",
    "dev": "nodemon"
  },
  "main": "app.js",
  "repository": {
    "type": "git",
    "url": "git://github.com/german/docker-sails.git"
  },
  "author": "german",
  "license": "",
  "engines": {
    "node": "^8.10"
  }
}

Шаги для воспроизведения: Я запускаю свой контейнер с помощью команды docker-compose up --build -d, и он запускается хорошо, затем я захожу в свой браузер на localhost:3000 и вижу мою страницу.Затем я делаю некоторые изменения в своем коде, перезагружаю страницу браузера, и ничего не происходит.введите docker-compose exec app /bin/bash и перейдите к моему измененному файлу, и я вижу, как мой файл успешно изменяется, но сервер не был перезапущен.Когда я изменяю какой-либо файл прямо в моем контейнере, сервер перезагружается правильно

...