Docker镜像是否跟操作系统相关的?还是跨平台的?

镜像是跟操作系统相关的吧? 比如我要下载一个nginx的镜像,如果我在mac docker下运行,就应该下一个mac docker下的nginx镜像; 如果在linux docker运行,就下一个linux docker 的nginx镜像 ? 还是镜像运行在docker引擎下,引擎已经跨平台了?...显示全部

镜像是跟操作系统相关的吧? 比如我要下载一个nginx的镜像,如果我在mac docker下运行,就应该下一个mac docker下的nginx镜像; 如果在linux docker运行,就下一个linux docker 的nginx镜像 ? 还是镜像运行在docker引擎下,引擎已经跨平台了?

收起
参与41
  • 所有的镜像都是运行在,docker 引擎之上,但是docker 又依赖于操作系统内核,所以docker 软件自身是分操作系统部署的,但是镜像不需要,windows中也可以通过wsl来运行Linux 相关程序
    2016-11-03

查看其它 4 个回答狄俄尼索斯的回答

狄俄尼索斯狄俄尼索斯  软件架构设计师 , UProject

看了一下上面的一些回答有点乱。Docker镜像是操作系统相关的,外面所谓的build once run anywhere是有前提条件的,是在Linux这个操作系统族内才生效。

  1. 不同操作系统族的镜像不能共用。微软从WinServer1709开始支持Windows容器,就是容器内跑Windows应用,Host主机是Windows。这写镜像只能在Windows跑,不能放到其他平台跑。
  2. 不同CPU体系的镜像不能共用。X86与ARM64的镜像是不能共用的,dockerhub官网专门有一个ARM64的镜像分类: arm64v8
互联网服务 · 2019-07-20
浏览16926

回答者

狄俄尼索斯
软件架构设计师UProject
擅长领域: 云计算容器容器云

狄俄尼索斯 最近回答过的问题

回答状态

  • 发布时间:2019-07-20
  • 关注会员:6 人
  • 回答浏览:16926
  • X社区推广