Dokcer HereDoc 介绍 ================================================================================ 更新: * 2025-04-22: https://github.com/moby/moby/issues/34423 docker 23.0 已默认启用,是否保留 ``# syntax=docker/dockerfile:1.3-labs`` 视情况 而定 -------------------------------------------------------------------------------- Dockerfile 每条指令对应一层镜像,最佳实践常用 `&&` 连接命令,使用 `\\` 换行: .. literalinclude:: Dockerfile.noheredoc :language: dockerfile Dockerfile 引入 `HereDoc`_ 功能,在文件起始使用 ``# syntax=docker/dockerfile:1.3-labs`` 宣告启用该语法,用以简化 Dockerfile: .. literalinclude:: Dockerfile.heredoc :language: dockerfile * HereDoc 语法为实验性功能,未来走向尚不明确,建议关注官方发布。 * HereDoc 更为详细的功能建议参考 :doc:`HereDoc 笔记 ` 官方参考: * https://docs.docker.com/build/dockerfile/release-notes/#130-labs * https://docs.docker.com/reference/dockerfile/#here-documents 网络参考: * https://www.docker.com/blog/introduction-to-heredocs-in-dockerfiles * https://jedevc.com/blog/dockerfile-heredocs-intro .. ----------------------------------------------------------------------------- .. _HereDoc: https://en.wikipedia.org/wiki/Here_document