我在开发和生产laravel项目时,都使用Docker。我为开发和生产环境准备了略有不同的dockerfile。例如,在开发环境中,我会将本地目录挂载到docker容器中,这样每次更改代码时就不需要再进行docker构建。
由于挂载的目录仅在运行docker容器时可用,因此我无法在开发环境的dockerfile中添加诸如“composer install”或“npm install”之类的命令。
目前,我管理着两个docker文件,是否有任何方法可以使用单个docker文件来完成此操作,并通过发送参数来决定在进行docker构建时要运行哪些命令。
我想要实现的目标是:
在docker文件中
...
IF PROD THEN RUN composer install
...
在 Docker 构建期间:
docker build [PROD] -t mytag .