如何为开发和生产配置不同的dockerfile
我将docker用于laravel项目的开发和生产。我用于开发和生产的dockerfile略有不同。例如,我在开发环境中将本地目录安装到docker容器中,因此我不需要为代码中的每个更改进行docker构建。
由于挂载目录仅在运行docker容器时可用,因此无法在开发文件中将诸如“ composer install”或“ npm
install”之类的命令放入dockerfile中。
目前,我正在管理两个docker文件,有什么方法可以使用单个docker文件来执行此操作,并通过发送参数来确定执行docker build时要运行的命令。
...IF PROD THEN RUN composer install
...
docker build [PROD] -t mytag .
回答:
您可以使用两个不同的Dockerfile。
# ./Dockerfile (non production)FROM foo/bar
MAINTAINER ...
# ....
还有第二个:
# ./Dockerfile.productionFROM foo/bar
MAINTAINER ...
RUN composer install
在调用build命令时,您可以告诉它应该使用哪个文件:
$> docker build -t mytag .$> docker build -t mytag-production -f Dockerfile.production .
以上是 如何为开发和生产配置不同的dockerfile 的全部内容, 来源链接: utcz.com/qa/424874.html