Docker 组合环境和路径

Docker compose environment and paths

我正在尝试使用 Docker Compose 创建本地开发环境。我开始使用这个示例 https://github.com/b00giZm/docker-compose-nodejs-examples/tree/master/03-express-gulp-watch,它运行得非常棒。没问题。

但是那个例子中的结构太简单了,不符合我的需要。我计划 运行 我的应用程序在生产环境中使用 coreos,所以我还需要一堆其他配置文件。这就是我更改上面示例的大致方式:

application
   app
      bin
      public
      routes
      views
      app.js
      gulpfile.js
      package.json

vm
   coreos (production configs here)
   docker (development configs here)
      app
         Dockerfile
      docker-compose.yml

Docker用于实际应用的文件,因为我想使用单独的 docker 文件用于生产和开发。

我也将我的 docker-compose.yml 更改为:

web:
  build: app
  volumes:
    - "../../app:/src/app"
  ports:
    - "3030:3000"
    - "35729:35729"

此后 "docker-compose build" 正常,但 "docker-compose up" 不正常。我收到一条错误消息,说找不到 gulpfile。在我的逻辑中,这是因为卷挂载,它们不能像我假设的那样与父目录一起工作。

知道我做错了什么吗?或者我有这种情况的工作示例,请分享。

您可能遇到过早使用卷并试图在级联 docker 图像中访问它们的问题。

看这个: https://github.com/docker/docker/issues/3639

dnephin 是对的。移除旧容器就可以了。谢谢!