如何为开发和生产配置不同的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.production

FROM 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

回到顶部