我有一个在Compose服务上运行的NodeJS应用程序,并希望通过卷从外部访问其源代码目录。我试着这样做:
volumes:
- "./source_code:/myApplication"
但是,当我运行nodemon index.js
时,我得到的是nodemon尝试在空文件夹上运行,并显示以下错误消息:
Usage: nodemon [nodemon options] [script.js] [args]
See "nodemon --help" for more
我已经四处寻找,但没有发现其他人的类似问题。我定义该卷的方式有问题吗?怎么做得好?提前谢谢。
答案 0 :(得分:0)
这可能是您Dockerfile
的问题,我认为卷声明很好。请参阅下文并与您的设置进行比较。我的所有文件都在同一个目录中
# docker-compose.yml
version: "3"
services:
node-mon:
build:
context: .
dockerfile: Dockerfile
# read only volume to current directory
volumes:
- ./:/opt/app-dir:ro
侦听app.js文件的Dockerfile
#Dockerfile
FROM node:alpine
RUN mkdir -p /opt/app-dir
RUN npm install -g nodemon
WORKDIR /opt/app-dir
CMD nodemon app.js
带有控制台日志的app.js文件
# app.js
console.log('it works!')