我正在尝试使用docker编写部署一个应用程序,该应用程序位于主机中的一个文件夹中(与docker-复合文件位于同一个dir中)。
不过,我正在运行命令docker-compose up -d,但是,由于执行命令npm install时,显示了以下消息,所以卷似乎没有挂载:
Step 3/4 : RUN npm install
---> Running in a09b1e8139ae
npm WARN saveError ENOENT: no such file or directory, open '/app/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/app/package.json'
npm WARN app No description
npm WARN app No repository field.
npm WARN app No README data
npm WARN app No license field.从那以后,我的集装箱就出来了。
我的档案:
docker-compose.yml
version: '3'
services:
github-app:
build:
context: ./docker
volumes:
# Place app files.
- ./:/app
ports:
- "3000:3000"docker/Dockerfile
FROM node:10.15.1
WORKDIR /app
RUN npm install
CMD ["npm", "start"]有人知道我做错了什么吗?
发布于 2019-02-28 11:51:51
除非我搞错了。负责构建过程的docker目录将在挂载任何卷之前执行,因此构建期间的映像不会有任何称为package.json的内容,因为它位于上下文目录之外。尝试将dockerfile移动到具有docker-compose.yml和package.json的同一个根目录,并使用
COPY . /app与其依赖于安装的卷,它在构建完成之前是不可用的。
https://stackoverflow.com/questions/54925026
复制相似问题