lon*_*556 6 docker dockerfile docker-compose
我有一个 Dockerfile,它创建了我想在此处使用的构建映像:~/build/Dockerfile
然后我使用标准映像进行部署
构建的图像~/build/Dockerfile
没有在任何地方发布,我知道我可以简单地将一个 Dockerfile 复制粘贴到另一个 Dockerfile 中,但是如果我可以简单地引用它,那就更好了..
部署时是否可以以某种方式引用 Dockerfile 本身?
像这样:
FROM [insert something that creates an image using ~/build/Dockerfile] as build-env
... build operations ....
FROM some-image
COPY --from=build-env /built .
ENTRYPOINT [blah]
Run Code Online (Sandbox Code Playgroud)
这行不通,但是还有其他方法可以实现这一点吗?
一般来说,Docker 空间中的命令和 FROM 指令等内容docker run
将使用本地镜像(如果存在);它不需要被推送到存储库。这意味着您可以构建第一个映像并在后面的 Dockerfile 中按名称引用它。(没有办法引用其他 Dockerfile本身。)
较新版本的 Docker 有Dockerfile COPY 命令的扩展形式,
\n\n\n\n\n接受一个标志
\n--from=<name|index>
...。如果无法找到具有指定名称的构建阶段,则尝试使用具有相同名称的图像。
所以如果你提前跑
\n\ndocker build -t build-env ~/build\n
Run Code Online (Sandbox Code Playgroud)\n\n那么您在建议的 Dockerfile 中显示的确切语法将起作用
\n\nFROM some-image\nCOPY --from=build-env /built .\n
Run Code Online (Sandbox Code Playgroud)\n\n中间构建映像实际上没有被推送到任何地方并不重要。
\n 归档时间: |
|
查看次数: |
7242 次 |
最近记录: |