Docker best practices 建议一种方法:
<块引用>要保持生产映像精简但允许调试,请考虑使用生产映像作为调试映像的基础映像。可以在生产映像之上添加额外的测试或调试工具。
但哪种方式最适合实现这一目标?在我的例子中,我有一个静态链接的二进制文件,它只需要一个基本的库,由小 rhel-minimal
图像提供。
FROM registry.access.redhat.com/rhel-minimal:latest
COPY app /app/
WORKDIR /app
ENTRYPOINT ["./app"]
我可以基于我的 Dockerfile 创建的镜像构建另一个镜像,但这似乎不合适,因为我必须为我创建的每个镜像执行此操作。我想要的只是一种机制,当我想开始调试会话时,它允许我从 rhel-minimal
基本映像更改为某个 rhel-minimal-with-debug-utils
。这可能吗?
答案 0 :(得分:0)
Q. 我想要的只是一种机制,它允许我从 将rhel-minimal 基础映像转换为一些rhel-minimal-with-debug-utils, 当我想开始调试会话时。这可能吗?
解决方案 1:
您也可以在 docker 存储库中保留基本映像的副本。 例如,
localregistry/rhel-minimal:latest
localregistry/rhel-minimal:debug
解决方案 2:
您还可以利用 docker multi-staging 使用单个 Dockerfile 构建多个映像以进行测试、调试和生产。