Docker-compose:如何将卷添加到NodeJS源代码目录?

时间:2018-04-01 01:23:16

标签: docker docker-volume

我有一个在Compose服务上运行的NodeJS应用程序,并希望通过卷从外部访问其源代码目录。我试着这样做:

volumes:
  - "./source_code:/myApplication"

但是,当我运行nodemon index.js时,我得到的是nodemon尝试在空文件夹上运行,并显示以下错误消息:

Usage: nodemon [nodemon options] [script.js] [args]
See "nodemon --help" for more

我已经四处寻找,但没有发现其他人的类似问题。我定义该卷的方式有问题吗?怎么做得好?提前谢谢。

1 个答案:

答案 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!')