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

docker 是什么?

  •  
  •   holinhot · 2015-05-23 16:17:48 +08:00 · 5943 次点击
    这是一个创建于 3473 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一直没关注这个开始完全搞不明白
    我现在的理解是他就是一个虚拟机
    比如我在宿主机上安装docker并在docker下centos装上lnmp做成镜像然后可以很容易的以的把这个lnmp环镜移动到其他linux宿主机上吧。
    说白了不就一微型虚拟机

    不知道我理解对不对

    大量部署分发到不同节点确实很好

    17 条回复    2015-05-25 09:11:46 +08:00
    Septembers
        1
    Septembers  
       2015-05-23 16:24:39 +08:00
    微服务
    jemyzhang
        2
    jemyzhang  
       2015-05-23 17:40:05 +08:00 via Android
    container?可不可以这样理解呢
    yyfearth
        3
    yyfearth  
       2015-05-23 17:44:04 +08:00
    @holinhot 我觉得Docker不像虚拟机 更像是一个Sandbox沙箱
    跑起来不像一般的虚拟机那样虚拟出一台机器 而仅仅是把不同的环境用软件的方式隔离开
    官方叫做 container 技术
    tabris17
        4
    tabris17  
       2015-05-23 17:48:15 +08:00
    底层基于LXC,也就是操作系统提供的一中沙箱功能。隔离了软件的运行环境,但是内核还是共享的,和虚拟机不一样。
    boro
        5
    boro  
       2015-05-23 17:50:10 +08:00
    和Rocket比,哪个更具优势些?
    leopard080264
        6
    leopard080264  
       2015-05-23 18:35:54 +08:00 via iPad
    docker就是个煤气灶,应用就是锅加菜
    tobyxdd
        7
    tobyxdd  
       2015-05-23 18:39:43 +08:00
    sandboxie
    liul85
        8
    liul85  
       2015-05-23 20:52:19 +08:00
    比虚拟机更轻量,更易部署和迁移,特别是在分布式系统中。
    kaneg
        9
    kaneg  
       2015-05-23 23:37:56 +08:00 via iPhone
    这货根本就不是虚拟机,跟普通经常没啥本质区别,只是运行在另一个命名空间而已,所以它目前只能是Linux上的一种技术。不过它给使用者一种错觉像是运行了另一个独立的OS,所以很多人把它当虚拟机用
    crny520
        10
    crny520  
       2015-05-24 01:11:54 +08:00 via Android
    monnand
        11
    monnand  
       2015-05-24 07:43:04 +08:00 via Android
    @tabris17 docker 去年的时候就已经不用lxc了
    endoffight
        12
    endoffight  
       2015-05-24 10:04:36 +08:00
    一个更安全高效合理的部署方式
    tabris17
        13
    tabris17  
       2015-05-24 11:37:33 +08:00
    @monnand 擦,世界变化真快,那用啥?
    nekoyaki
        14
    nekoyaki  
       2015-05-24 15:26:32 +08:00
    @monnand 同问,用的是啥
    monnand
        15
    monnand  
       2015-05-25 01:44:35 +08:00
    @tabris17
    @nekoyaki 是libcontainer,详细情况可以google一下。

    简单说来,因为cgroup的操作完全就是对文件系统的操作,而namespace的操作也可以直接通过系统调用完成,所以就没必要中间再放个lxc了。

    类似的做法,在google的lmctfy里也是这么做的。
    monnand
        16
    monnand  
       2015-05-25 01:45:19 +08:00
    @monnand 有必要提一下,docker现在还是支持通过调用lxc的方式来创建container,但是不是默认的方式
    tabris17
        17
    tabris17  
       2015-05-25 09:11:46 +08:00
    @monnand 明白了。就是绕过LXC直接调用底层接口了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2439 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:25 · PVG 08:25 · LAX 16:25 · JFK 19:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.