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
所以
- 可以在已运行的主机中手动添加/更改架构标签吗?或者
- 即使主机操作系统报告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/