У меня проблема с использованием моего док-контейнера.До сих пор я сгенерировал все необходимые зависимости в моем проекте.Но у меня возникают проблемы при звонке на 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
и перейдите к моему измененному файлу, и я вижу, как мой файл успешно изменяется, но сервер не был перезапущен.Когда я изменяю какой-либо файл прямо в моем контейнере, сервер перезагружается правильно