Я использую Docker, который работает нормально.
Я могу запустить образ Docker, используя docker-compose.
docker-compose rm nodejs; docker-compose rm db; docker-compose up --build
Я прикрепил оболочку к контейнеру Docker, используя
docker exec -it nodejs_nodejs_1 bash
Я могу просматривать файлы внутри контейнера
(inside container)
cat server.js
Теперь, когда я редактирую файл server.js
внутри хоста, я бы хотел, чтобы файл внутри контейнера изменился без перезапуска Docker.
Я пытался добавить volumes
в файл docker-compose.yml
или в файл Dockerfile, но я почему-то не могу заставить его работать.
(Dockerfile, not working)
FROM node:10
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
VOLUMES ["/usr/src/app"]
EXPOSE 8080
CMD [ "npm", "run", "watch" ]
или
(docker-compose.yml, not working)
version: "3.3"
services:
nodejs:
build: ./nodejs-server
ports:
- "8001:8080"
links:
- db:db
env_file:
- ./.env-example
volumes:
- src: /usr/src/app
db:
build: ./mysql-server
volumes:
- ./mysql-server/data:/docker-entrypoint-initdb.d #A folder /mysql-server/data with a .sql file needs to exist
env_file:
- ./.env-example
volumes:
src:
Возможно, где-то есть простое руководство, но я еще не нашел его.