码头工人最佳做法建议了一种方法:
若要保持生产映像精益但允许调试,请考虑使用生产映像作为调试映像的基本映像。可以在生产映像的顶部添加额外的测试或调试工具。
但是,哪一种方式是实现这一目标的最佳途径?在我的例子中,我有一个静态链接的二进制文件,它只需要一个基本的库(由小型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。这有可能吗?
发布于 2021-02-17 18:25:35
Q.我想要的只是一种机制,当我想要启动调试会话时,它允许我从极小的基本图像转换到一些极小的调试功能。这有可能吗?
解决方案1:
您也可以在您的停靠库中保存基本映像的副本。例如,
localregistry/rhel-minimal:latestlocalregistry/rhel-minimal:debug解决方案2:
您还可以利用docker 多阶段来使用单个Dockerfile构建多个映像,用于测试、调试和生产。
https://stackoverflow.com/questions/66247395
复制相似问题