首页 > 解决方案 > 如何检查 DockerHub 上用于自动构建的 Docker 版本?

问题描述

我有一个Dockerfile使用COPY --chown $UID:$GID语法的。我可以使用 Docker 在Dockerfile运行 Docker 版本 19.03.5 的 MacBook 和 Linux 工作站上毫无问题地使用 Docker 构建映像。但是,我在 DockerHub 上的自动构建失败并出现以下错误。

Step 16/26 : COPY --chown=$UID:$GID environment.yml requirements.txt postBuild ./
unable to convert uid/gid chown string to host mapping: can't find uid for user $UID: no such user: $UID
build hook failed! (1)

我对这次失败感到惊讶,因为我认为 DockerHub 将使用最新版本的 Docker 进行自动构建。

如何查看 DockerHub 使用的 Docker 版本?如果我可以指定 DockerHub 应该在我的构建挂钩中使用的 Docker 版本,那就更好了。

标签: dockerdockerfiledockerhub

解决方案


似乎这些变量$UID$GID没有在他们的环境中设置。在这种情况下,您应该像这样使用 id 1000

COPY --chown=1000:1000 environment.yml requirements.txt postBuild ./


推荐阅读