问下把 Docker 当虚拟机用有什么问题吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
binbinyouliiii
V2EX    Docker

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

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

    是这样的,有一台内存挺大的物理机,想分给多个人用,怕搞乱了,所以想用 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
    没有
    uiuy
        2
    uiuy  
       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     Solana     5192 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 09:09 PVG 17:09 LAX 01:09 JFK 04:09
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86