当 uname 报告 aarch64 而不是 arm64v8 时。 docker-ce 仍然会拉取 arm64v8 镜像吗

当 uname 报告 aarch64 而不是 arm64v8 时。 docker-ce 仍然会拉取 arm64v8 镜像吗

docker-ce 现在支持多个架构基础镜像,但会查找标签 arm64v8 而不是 aarch64(标记为已弃用)。

不幸的是,我的新 ubuntu 18.04 主机操作系统 uname 报告 aarch64。
Linux nas 4.4.154-1122-rockchip-ayufan-g7859b9b904a9 #1 SMP Mon Oct 1 07:32:42 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux

所以

  1. 可以在已运行的主机中手动添加/更改架构标签吗?或者
  2. 即使主机操作系统报告aarch64,docker-ce也会拉取arm64v8镜像吗?

答案1

我想,没关系。我没有使用 Ubuntu 18.04 进行测试,但使用最新的 Debian,一切在我的 Pine64 上运行良好:

root@pine64:~# uname -a
Linux pine64 3.10.107-pine64 #7 SMP PREEMPT Thu Jan 25 08:00:55 CET 2018 aarch64 GNU/Linux
root@pine64:~# docker info | grep arch
Architecture: aarch64

我下载了很多arm64v8镜像,没有任何问题。

答案2

我不认为 docker 将 uname 用于任何用途。我认为默认架构是安装包的一个属性。这是使用 apt-get 安装时获得的包。

这可以解决 Ubuntu 和 docker 之间命名约定不匹配的问题。

因为它是 docker 的自己的命名有点不一致

如果您想更改默认...如果您将环境变量 DOCKER_DEFAULT_PLATFORM 添加到您的配置文件中,则可以更改默认平台。 https://docs.docker.com/engine/reference/commandline/cli/

相关内容