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

问下把 Docker 当虚拟机用有什么问题吗?

  •  
  •   binbinyouliiii · 2019-11-09 16:39:34 +08:00 · 10519 次点击
    这是一个创建于 1860 天前的主题,其中的信息可能已经有所发展或是发生改变。

    是这样的,有一台内存挺大的物理机,想分给多个人用,怕搞乱了,所以想用 Docker 分割出来资源分给每个人用。

    但是 V 站好像一直嘲笑把 Docker 当虚拟机用的人,只用来单进程使用,如果这样搞成类似虚拟机的话有什么问题吗?

    29 条回复    2019-11-10 23:12:57 +08:00
    welkinzh
        1
    welkinzh  
       2019-11-09 16:40:43 +08:00 via Android
    没有
    xihefeng
        2
    xihefeng  
       2019-11-09 16:43:24 +08:00
    有一个问题,docker in docker 怎么解决
    其他的,感觉这种做法有种用不太专业的样子,管理也不是很好。
    满足你的需求的 pve 为啥不考虑下
    dppd
        3
    dppd  
       2019-11-09 16:44:31 +08:00
    先看每个人都用些什么吧我觉得
    docker 本来就是为了轻量化使用的,如果每个人各有所需的怎么不尝试 vbox 呢...
    但退一万步来讲,官方也只是不推荐而已,管别人怎么看,你喜欢把 docker 当虚拟机别人也不能把你怎么样
    oott123
        4
    oott123  
       2019-11-09 16:51:13 +08:00
    为什么不用 lxc 呢
    binbinyouliiii
        5
    binbinyouliiii  
    OP
       2019-11-09 16:53:00 +08:00
    @xihefeng #2
    @dppd #3
    打算的是宿主机也会放一些数据库、中间件什么的公用,Docker in docker 的需求可能非常小,本身就把他当开发环境来用,也没有特殊的需求。
    mondeo
        6
    mondeo  
       2019-11-09 16:58:03 +08:00 via Android
    docker 不是虚机,只不过是内核上的一个隔离机制
    binbinyouliiii
        7
    binbinyouliiii  
    OP
       2019-11-09 16:59:20 +08:00
    @oott123 #4 lxc 有什么优点吗?

    @mondeo #6 这个我知道,我想问的是我把它当虚拟机来用有什么问题吗?
    widewing
        8
    widewing  
       2019-11-09 17:01:43 +08:00 via Android
    你需要的不是 docker,你需要 pve(lxc)
    12101111
        9
    12101111  
       2019-11-09 17:08:07 +08:00
    Docker 公用一个内核
    虚拟机的 CPU 开销并不是很大,建议使用 PVE 这种成熟的解决方案
    abcbuzhiming
        10
    abcbuzhiming  
       2019-11-09 17:11:45 +08:00
    docker 本来就不是虚拟机,所以 它做不到虚拟机的很多事情,我觉得要用一个东西就要搞清楚原本的设计是什么。用错了容易在某些意想不到的时候栽进坑里
    passerbytiny
        11
    passerbytiny  
       2019-11-09 17:23:31 +08:00   ❤️ 1
    因为 Docker 的设计目的是 “应用” 容器化,所以并不推荐你用来做 “操作系统” 容器化。不推荐并不是禁止,你当然可以这么用,而且不一定出问题。但是当出现功能缺失或者将来升级的时候,官方不会鸟你。
    bumz
        12
    bumz  
       2019-11-09 18:12:12 +08:00 via iPhone
    不要给 root
    不要给 root
    不要给 root

    重要的事情说三遍
    ruxuan1306
        13
    ruxuan1306  
       2019-11-09 18:24:20 +08:00 via iPhone
    好了,帮楼主总结一下上面的评论:没什么问题。
    hanxiV2EX
        14
    hanxiV2EX  
       2019-11-09 19:07:11 +08:00 via Android
    时间改不了
    akira
        15
    akira  
       2019-11-09 19:12:55 +08:00
    合适不合适自己用一段时间就知道了啊
    KENNHI
        16
    KENNHI  
       2019-11-09 19:19:11 +08:00 via Android   ❤️ 1
    虚拟机一定要 KVM,为什么,因为我买 VPS 的时候已经被 ovz 和 lxc 逼疯了。用 Docker 当虚拟机,那简直是噩梦中的噩梦
    Nasei
        17
    Nasei  
       2019-11-09 19:19:13 +08:00 via Android
    你想跑几个容器然后每个人到容器里的 bash 里干活?
    rayhy
        18
    rayhy  
       2019-11-09 19:24:33 +08:00 via Android
    请问前面几位答主说的 PVE,ovz,KVM 之类的东西,支持 GPU 吗?我们组主要使用 docker 建立不同的深度学习环境,ssh 进 docker 容器里写程序运行程序。这样做是不是很不好?
    silvernoo
        19
    silvernoo  
       2019-11-09 19:28:54 +08:00
    docker 连 service 都没有,怎么当虚拟机
    VisionTheta
        20
    VisionTheta  
       2019-11-09 19:39:19 +08:00
    @rayhy 支持 Docker 有 nvidia-docker, LXD 也有 nvidia 的支持。我们就是做在了 LXD 上,每个人一个容器,非常和谐。
    回楼主,我觉得 Docker 适合应用部署,LXD 适合你要的那种虚拟机。
    mritd
        21
    mritd  
       2019-11-09 20:23:52 +08:00   ❤️ 1
    你可以看看 docker 进程模型,然后你就不会问这种问题了
    24owls
        22
    24owls  
       2019-11-09 22:39:20 +08:00   ❤️ 1
    container 里面运行比较完整的系统没什么问题,只是 docker 的 container 这么用有些地方不方便,因为它是围绕 image 设计的,不怎么把创建好的 container instance 当回事。比如创建好的 container 如果后面发现有些参数要改,要新增 mount 的目录,或者加一个 gpu,只能 commit image 一下,然后用新参数重新创建 instance,比较麻烦。有的 container 工具这方面问题会少很多,虚拟机也不会有这种问题。

    顺带问一下,“想分给多个人用,怕搞乱了”具体都有哪些担心呢?想了解一下
    ziseyinzi
        23
    ziseyinzi  
       2019-11-09 23:05:14 +08:00   ❤️ 1
    docker 就不是为了虚拟机设计的,当作虚拟机用你会发现相关功能都没有。不是 docker 当虚拟机有什么不好,而是 docker 当虚拟机有什么好的?
    KasuganoSoras
        24
    KasuganoSoras  
       2019-11-10 00:11:21 +08:00   ❤️ 2
    KVM 它不香吗,Docker 并非完全虚拟化隔离,你拿去当 VPS 开,搞出租什么的话就是作大死
    不信你可以试试在 Docker 里执行个 :(){ :|:& };: ,然后你会发现容器挂了,接着你会发现你宿主机也炸了(
    seakingii
        25
    seakingii  
       2019-11-10 01:52:15 +08:00   ❤️ 1
    你首先要把你的需求讲清楚,你的目标用户要使用哪些资源,每个用户之间的资源要分割到什么程度.
    CoderXiaode
        26
    CoderXiaode  
       2019-11-10 03:03:59 +08:00 via Android   ❤️ 1
    你这个需求,用多用户加权限管理感觉更适合哎,用虚拟化不管是虚拟机还是容器都要引入额外开销。
    Nitroethane
        27
    Nitroethane  
       2019-11-10 11:31:09 +08:00
    有一台内存挺大的物理机为什么不搞一个 exsi
    fox0001
        28
    fox0001  
       2019-11-10 17:08:55 +08:00 via Android
    KVM 吧
    qwefdrt
        29
    qwefdrt  
       2019-11-10 23:12:57 +08:00
    你这样的 Docker 是基于同一个 linux 内核的,如果用户有别的内核版本或者 Windows 需求就无解。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1073 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:28 · PVG 02:28 · LAX 10:28 · JFK 13:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.