docker镜像能跨平台运行吗

docker镜像能跨平台运行;只要系统架构一样,是可以使用相同的镜像的,x86的镜像只能在x86系统使用,arm的镜像只能在arm系统使用,docker镜像对容器而言只是模拟了一个环境,与宿主机的关系不大。

docker镜像能跨平台运行吗插图

本教程操作环境:linux7.3系统、docker-1.13.1版、Dell G3电脑。

docker镜像能跨平台运行吗

docker镜像和操作系统没关系,docker最大的价值就是提出了镜像打包技术。首先你的明白什么是docker,什么是镜像,什么是容器,然后你就能明白镜像和操作系统之间的关系。docker是一个引擎,是基于内核的一种技术。比如Linux内核,那么它就关心是不是Linux内核,它不关心你是Ubuntu还是CentOS。所以docker也实现了和操作系统的解耦。镜像呢是把服务的运行环境打成了一个包,比如tomcat,镜像里面是把除操作系统的内核以外,然后再加上tomcat的二进制包。然后通过docker引擎构建出来一个tomcat的镜像。容器呢,比如我们想创建一个tomcat服务,之前的方式是在服务器中通过tar或者是rpm安装一个tomcat,然后在start tomcat;如果我们要安装多台的话我们需要多次手动去操作部署。现在有了tomcat镜像以后,我们可以直接利用镜像创建出多个tomcat来(关系是一个tomcat镜像可以创建出多个tomcat容器-即tomcat服务),把容器看成是tomcat的进程就行。

一个程序运行,需要操作系统的支持,并且需要访问自己的私有的数据和软件。docker是容器,它将所有的访问文件和操作系统的api重新定向了,让应用内感觉自己在一个独立的操作系统上运行,而docker拦截了api调用,并且把那些全局的对操作系统的访问进行了包装,使得程序不会真的访问它们。因为docker程序访问的是容器包装的api,理论上说,只要在另一个操作系统上实现了这些容器的api,就可以把程序移植上去,因为程序不直接和操作系统打交道,感觉不到不同系统的不同。

docker在各平台上的运行机制

LINUX:docker在linux上共享内核,无需虚拟化,完全支持native功能。所以只能创建linux类docker。

Windows:docker在windows上,启用Hyper-V或者虚拟化技术(通过虚拟机来实现,不共享windows内核)。可以创建linux类docker和Windows类docker。

Mac:docker在mac os上,同样用虚拟化技术xhyve或者virtualbox来实现,不共享mac os内核。只能创建linux类docker,不能创建Mac OSX的docker。

只要系统架构一样,是可以使用相同的镜像的,比如x86的镜像只能x86的系统使用,arm的镜像只能arm系统使用。docker镜像对容器而言只是模拟了一个环境,跟宿主机没多大关系

版权声明:本文采用知识共享 署名4.0国际许可协议BY-NC-SA 进行授权
文章作者:jiuhucn
文章链接:https://www.jiuhucn.com/2022/03/24/1950.html
免责声明:本站为资源分享站,所有资源信息均来自网络,您必须在下载后的24个小时之内从您的电脑中彻底删除上述内容;版权争议与本站无关,所有资源仅供学习参考研究目的,如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
本站为非盈利性站点,并不贩卖软件,不存在任何商业目的及用途,网站会员捐赠是您喜欢本站而产生的赞助支持行为,仅为维持服务器的开支与维护,全凭自愿无任何强求。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>