构建我的图片后(标记succli/backoffice
),我的文件没有同步。我创建了一个entrypoint.sh,但它不在容器中。作为编辑器,我在Ubuntu上使用Visual Studio Code。
我的Dockerfile
:
FROM node:8
EXPOSE 3000
COPY . /opt/app
WORKDIR /opt/app
RUN npm install
CMD npm run-script prod
我的docker-compose.yml
:
version: "2"
services:
web:
image: succli/backoffice:latest
ports:
- "3000"
links:
- mongo
environment:
- DATABASE=mongodb://mongo:27017/backoffice
mongo:
image: mongo:latest
和docker-compose.vols.yml
:
version: "2"
services:
web:
ports:
- "32781:3000"
environment:
- DOMAIN=localhost:32781
volumes:
- /home/succ/www/backoffice:/opt/app
entrypoint: /opt/app/entypoint.sh
mongo:
ports:
- "27018:27017"
运行docker-compose -f docker-compose.yml up
后,更改或新文件在容器中不可见(使用docker exec -ti backoffice_web_1 /bin/bash
检查)
Docker version 17.09.1-ce, build 19e2cf6
docker-compose version 1.8.0, build unknown
答案 0 :(得分:1)
查看您的Dockerfile我希望(因为我不完全清楚您的问题)您需要先将文件添加到图像中,然后才能RUN npm install
为了运行npm install
,您需要一个package.json,因此您应该在RUN之前在dockerfile中添加它以及所需的所有其他文件。
在docker-compose.yml文件中,您可以在组成服务链时定义这两个服务......
希望它有所帮助。如果不是,请提供更详细的问题...