在构build上结合Dockerfiles
我使用docker作为开发环境和生产环境。
目前,我有两个Dockerfile
:
dev.dockerfile :
FROM image:latest [common code in dev and production, eg : RUN apt-get install php5]
prod.dockerfile :
FROM image:latest [common code in dev and production, eg : RUN apt-get install php5] [code only used in production, eg : RUN docker-php-ext-install opcache]
我想要的是将通用代码合并到一个文件common.dockerfile ,然后能够通过只运行一个docker
命令来构build我的开发或生产映像。
你有什么想法如何实现这一目标?
build立产品时设置一个环境variables。 让prod RUN语句成为noop,除非variables设置。
我build议从dev镜像inheritance产品镜像,例如:
dev.dockerfile保持不变,prod.dockerfile将如下所示:
FROM <dev_image_name_and_tag> [code only used in production, eg : RUN docker-php-ext-install opcache]