我必须对两个docker图像执行相同的脚本.
我Dockerfile是:
FROM centos:6
...
Run Code Online (Sandbox Code Playgroud)
和
FROM centos:7
...
Run Code Online (Sandbox Code Playgroud)
是否可以使用单个文件并传递参数,例如:
FROM centos:MYPARAMS
Run Code Online (Sandbox Code Playgroud)
并在构建期间这样的事情:
docker build --no-cache MYPARAMS=6 .
Run Code Online (Sandbox Code Playgroud)
谢谢
小智 18
只是为了把它放在正确的背景下,现在(自2017年5月起)可以用自17.05以来的纯码头实现这一目标(https://github.com/moby/moby/pull/31352)
Dockerfile应该是这样的(是的,按此顺序的命令):
ARG APP_VERSION
ARG GIT_VERSION
FROM app:$APP_VERSION-$GIT_VERSION
Run Code Online (Sandbox Code Playgroud)
然后调用build
docker build --build-arg APP_VERSION=1 --build-arg GIT_VERSION=c351dae2 .
Run Code Online (Sandbox Code Playgroud)
Docker将尝试将构建基于图像 app:1-c351dae2
帮助我极大地减少了构建图像的逻辑.
| 归档时间: |
|
| 查看次数: |
3666 次 |
| 最近记录: |