注意:这既是哪个 docker 版本的问题,也是如何找到实现 COPY --link 的 docker 版本的问题。
背景:它始于我的本地 docker 安装在解析我的 Dockerfile 时不支持 COPY --link 。快速搜索后,我发现它已添加到 Dockerfile 前端版本 1.4.0 [1]。
之后我就陷入困境了。我不知道如何找到实现 Dockerfile 前端版本 1.4.0 的 docker 版本。但幸运的是,我发现一个页面提到 Docker Engine 26.0 [2][3] 中添加了 COPY --link。
额外的运气让我看到了 Docker Engine 26.0 的里程碑列表 [4],其中列出了一个名为“Dockerfile: update xx to v1.4.0”的拉取请求 [5]。
此时我仍然不知道哪个 docker 版本支持 COPY --link。我还没有找到如何将 Docker 引擎版本映射到 docker 版本。
编辑:忽略这部分。apt show
列出可用的软件包,而不是已安装的软件包。我没有 docker 版本 24.0.5。
apt show docker.io
在我的机器上显示我正在使用 docker 版本 24.0.5 (24.0.5-0ubuntu1~20.04.1)。
但docker version
显示客户端和引擎的版本均为 19.03.13。
那么24.0.5版本从何而来呢?编辑:忽略这部分。
Docker 软件环境感觉就像是一团混乱,我无法理解。它似乎也分为两个存储库https://github.com/docker和https://github.com/moby。
那么回到问题:你应该如何找到 Ubuntu 中实现了 COPY --link 支持的 docker 版本?
[1] https://github.com/docker/docs/blob/c416e68959110bb8d04d92de3f9f0d3e181360b1/content/build/dockerfile/release-notes.md#140
[2] https://www.howtogeek.com/devops/how-to -accelerate-docker-builds-and-optimize-caching-with-copy-link/
[3] https://docs.docker.com/engine/release-notes/26.0/#2600
[4] https://github .com/moby/moby/issues?q=is%3Aclose+milestone%3A26.0.0
[5] https://github.com/moby/moby/pull/47570