Node.js Docker节点应用程序赢得';不能与宿主绑定
我有一个由mysql数据库和节点应用程序组成的应用程序。我编写了一个docker compose文件,该文件创建并公开了mysql数据库和节点应用程序。我通过将应用程序的所有源文件复制到容器并运行应用程序来实现这一点,但我无法让节点应用程序对主机上的文件更改做出反应。我确实在docker-compose.yml上添加了一个volumes条目,但应用程序对此没有反应 主机上的我的文件夹结构是: web客户端是一个React前端,它还没有涉及到这一点(我一步一个脚印) 文件夹服务器具有节点应用程序和Dockerfile 服务器/Dockerfile:Node.js Docker节点应用程序赢得';不能与宿主绑定,node.js,docker,docker-compose,Node.js,Docker,Docker Compose,我有一个由mysql数据库和节点应用程序组成的应用程序。我编写了一个docker compose文件,该文件创建并公开了mysql数据库和节点应用程序。我通过将应用程序的所有源文件复制到容器并运行应用程序来实现这一点,但我无法让节点应用程序对主机上的文件更改做出反应。我确实在docker-compose.yml上添加了一个volumes条目,但应用程序对此没有反应 主机上的我的文件夹结构是: web客户端是一个React前端,它还没有涉及到这一点(我一步一个脚印) 文件夹服务器具有节点应用程序
FROM node:8
RUN apt-get -q update && apt-get -qy install netcat
WORKDIR /usr/src/app
COPY . .
RUN ls -l
RUN npm install
RUN chmod +x ./wait-for.sh
CMD sh -c './wait-for.sh mysql-db:3306 -- npm start'
EXPOSE 5000
服务器/.dockrignore:
node_modules
npm-debug.log
*Dockerfile*
*docker-compose*
./docker-compose.yml:
version: "3.7"
services:
mysql-db:
image: mysql/mysql-server:5.7
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: assinaai
MYSQL_PASSWORD: assinaai
MYSQL_DATABASE: assinaai
ports:
- "3306:3306"
expose:
- "3306"
networks:
- my-network
node-app:
build:
context: ./server
dockerfile: Dockerfile
depends_on:
- mysql-db
ports:
- "5000:5000"
expose:
- "5000"
volumes:
- "./server:/usr/src/app"
networks:
- my-network
networks:
my-network:
driver: bridge
感谢您的帮助,谢谢 在Github上找到后,我能够实现我想要的。查看docker-compose.yml以了解绑定挂载的正确语法。谢谢@alvits,但这不正是本页上docker-compose.yml所做的吗?