首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Docker

Docker 镜像可以跨平台部属吗?

  •  
  •   maxxfire · 43 天前 · 1190 次点击
    这是一个创建于 43 天前的主题,其中的信息可能已经有所发展或是发生改变。
    刚看了一篇文章说 docker 类似虚拟机,但又比虚拟机快和轻量。真的吗,它可以跨平台吗。
    比如我现在做一个这样的镜像:
    把“扫雷.exe ”放到 docker 镜像中,那么它可以在 windows 下运行,那么它也可以在 linux 下运行吗?
    9 回复  |  直到 2019-03-30 10:49:25 +08:00
        1
    finab   43 天前
    可以
        2
    maxxfire   43 天前
    @finab 真的吗,这也太吊了吧,docker 太神奇了,那虚拟机可以淘汰了。。
        3
    hilbertz   43 天前
    docker 虚拟的是系统资源,确切来说,容器是一种资源隔离技术,而不是像 qemu 那样的硬件层虚拟
        4
    dorentus   43 天前   ♥ 1
    docker 依赖 Linux 特有的特性,所以原则上只支持 Linux 平台;其他平台版的 docker 在实现上是先帮你生成一个 Linux 虚拟机,然后在里面搞。

    所以放到 docker 镜像中的“扫雷.exe ”,并不能使用通常的方法运行起来,不管是用 Window 版的 docker,还是用 Linux 版的 docker。
        5
    delectate   43 天前
    就是个 vbox,这么一说你懂了吧?
        6
    maxxfire   42 天前
    @dorentus 还有一个问题我想请教一下,假如都在 linux 平台下操作,因为 linux 下 docker 的是依靠其内核特性实现(并不是开虚拟机的方式)。所以问题就是 docker 在 linux 下如何解决 CPU 平台无关的(比如:在 x86 机器的 ubuntu 系统上运行 ARM 架构的 fedora 系统 docker 镜像)
        7
    lazyfighter   42 天前
    参考 java 宣传语言:compile once run anywhere,docker 宣传语言: build once run anywhere。
        8
    chrislu8468   28 天前
    4 楼说的对,每个 docker 容器都可以看成是一个小型 Linux 系统,以进程的方式运行在宿主机
    应该是这么说:只要在 Linux 能运行的,满足程序运行条件,都可以在装有 Docker 的机器上运行。
    比如,我写了一个 Python 程序,做成了镜像,是基于官方的 Python 镜像,那么我的这个镜像可以运行于任何安装了 Docker 的机器上,运行起来就叫容器。目标运行机器并不需要安装了 Python 运行环境,只要安装 Docker 就够了。
    再比如,你之前安装 MySQL,需要下载 rpm 包安装或者二进制编译,中间可能会遇到很麻烦的包依赖问题。有了 Docker,你可以从官方下载 MySQL 镜像,然后运行起来即可,不在乎运行的机器是什么操作系统,只要能安装 Docker 就行
        9
    kingfsen   20 天前
    这样肯定不行啊。你在 Linux 打成的镜像包只能在 Linux 上运行,在 windows 上打的镜像包在 windows 上运行。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1402 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 18ms · UTC 17:23 · PVG 01:23 · LAX 10:23 · JFK 13:23
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1