如何仅在开发环境中使用docker-compose附加卷?

时间:2016-04-30 15:44:55

标签: docker docker-compose

在docker-compose文档的quickstart: Compose and Django页面中,Dockerfiledocker-compose.yml文件都将.添加为/code,如下所示:

ADD . /code/

以后几行:

web: build: . command: python manage.py runserver 0.0.0.0:8000 volumes: - .:/code

我猜这样做是为了在开发过程中,您不必经常重建图像,并且在使用docker build时,图像是使用源代码已经内置的,因此在生产中,你可以简单地docker run来获得一个容器。这是对的吗?

如果是这样,问题是,如何创建docker-compose.yml来附加卷或根据我是创建生产还是开发堆栈来创建它?

1 个答案:

答案 0 :(得分:7)

发布此问题后几分钟,我找到了一个页面,其中提供了一些有关如何执行此操作的提示。以下是我认为必须要做的事情:

  1. 您定义附加卷的docker-compose.yml。但是,在您的Dockerfile中,您仍然保留原始ADDCOPY指令。
  2. 您还定义了一个production.yml文件,其中不包含开发和生产系统之间的相似之处。但是,它确实包含您要在生产环境中进行的更改。例如,volumes部分可能是这样的:

    volumes: {}

  3. 现在,当你在生产中运行docker-compose时,你会这样做:

    $ docker-compose -f docker-compose.yml -f production.yml up

    以下是Using Compose in Production的链接供参考。