【问题标题】:How would the host share a workspace with docker container in the development workflow?在开发工作流程中,主机如何与 docker 容器共享工作空间?
【发布时间】:2015-06-17 15:00:46
【问题描述】:

我知道我可以将一个文件夹从主机安装到容器中。但是,如果我在 Mac 上开发,应用程序可能需要不同的依赖项才能在容器中运行。跨主机和容器共享此文件夹的推荐做法是什么。

例子:

我们有一个 nodejs 项目:

workspace
  |\-node_modoule
  |\-app
  |\-config
  ....

主机正在运行 Mac OSX,容器正在运行 Ubuntu。当我尝试在 IDE 中调试项目时(例如 Intellij idea),我应该在 node_modoule 文件夹中拥有所有依赖项,这些依赖项可能是特定于操作系统的。然后当我用容器运行它时会失败,因为它可能需要不同的依赖关系。

【问题讨论】:

    标签: node.js intellij-idea docker


    【解决方案1】:

    尝试将node_modules/ 添加到.dockerignore 以防止将此目录吸入上下文,然后通过标准volume 命令共享每个目录。 例如。撰写文件:

    web:
      build: .
      volumes:
      # need to list all directories due to node_modules/ and bower_components/ :/
        - "app:/src/app"
        - "client:/src/client"
        - "config:/src/config"
        - "public:/src/public"
        - "scripts:/src/scripts"
    
      links:
        - "redis:redis"
      ports:
        - "8888:8888"
      command: node_modules/.bin/grunt
    
      redis:
        image: redis
    

    【讨论】:

      猜你喜欢
      • 2010-11-17
      • 2014-11-02
      • 2015-12-16
      • 2012-01-18
      • 2011-02-28
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多