只有在开发环境中,我如何才能使用docker-compose连接卷?
在Dockerfile
-compose文档中的快速入门:Compose和Django页面中,都添加了Dockerfile
和docker-compose.yml
文件.
作为/code
,像这样:
ADD . /code/
几行后:
web: build: . command: python manage.py runserver 0.0.0.0:8000 volumes: - .:/code
我猜测这样做是为了在开发过程中,你不会经常重build图像,并且在使用docker build
,图像已经内置了源代码,所以在生产中,你可以简单地做docker run
来获得一个容器。 那是对的吗?
如果是这样的话,问题是,我如何创build一个docker-compose.yml
来附加一个卷,或者不要根据我是在创build一个生产还是在开发堆栈?
张贴这个问题后几分钟,我来到了一个页面,有几个技巧如何做到这一点。 以下是我认为必须完成的事情:
- 您可以定义一个附加卷
docker-compose.yml
。 但是,在你的Dockerfile
你仍然保留原来的ADD
或COPY
指令。 -
您还可以定义一个
production.yml
文件,该文件不包括开发和生产系统之间的相似之处。 但是,它确实包含了您要在生产环境中进行的更改。 例如,volumes
部分可能是这样的:volumes: {}
现在,当你在生产中运行docker-compose
时,你可以这样做:
$ docker-compose -f docker-compose.yml -f production.yml up
以下是链接到生产中使用撰写作为参考。
- 无法运行rake db:在Docker-compose中的Dockerfile中创build
- LetsEncrypt-ACMESharp http-01对IIS的挑战无效
- :: CertOpenStore()在Docker Windows上失败
- 使用Django和Docker从MySQL迁移到postgresql – 关系“authtoken_token”不存在
- Docker主机安全 – 容器是否可以运行危险的代码或从容器内改变主机?
- 持久化/docker容器上的/ etc / passwd
- 无法在Docker中安装nltk
- 你如何隔离大型仓库中的Docker上下文?
- 如何设置database.yml连接到Postgres Docker容器?