V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
justinkls1994
V2EX  ›  问与答

有没有大佬通俗易懂地解释一下 docker 的意思

  •  
  •   justinkls1994 · 2020-05-07 15:48:43 +08:00 via iPhone · 2210 次点击
    这是一个创建于 1695 天前的主题,其中的信息可能已经有所发展或是发生改变。
    15 条回复    2020-05-08 12:52:23 +08:00
    1835407125
        1
    1835407125  
       2020-05-07 16:10:56 +08:00 via iPhone
    同问
    liuxey
        2
    liuxey  
       2020-05-07 16:13:49 +08:00
    使用 LXC 做出来的虚拟化管理平台,如果实在不懂,就当它是虚拟机
    felixcode
        3
    felixcode  
       2020-05-07 16:15:15 +08:00
    Docker1 架构原理及简单使用
    https://www.cnblogs.com/zhangxingeng/p/11236968.html
    luckyrayyy
        4
    luckyrayyy  
       2020-05-07 16:15:43 +08:00
    作用和用法上可以当成虚拟机。只不过原理上少了虚拟化那一层,直接基于 Linux 提供的特性对资源进行了隔离。
    widewing
        5
    widewing  
       2020-05-07 17:34:36 +08:00 via Android   ❤️ 1
    威力加强版 chroot
    Tomotoes
        6
    Tomotoes  
       2020-05-07 17:37:45 +08:00 via Android
    码头工人
    WinnieNumberTwo
        7
    WinnieNumberTwo  
       2020-05-07 17:40:46 +08:00 via Android
    “docker”简单看作虚拟机,“docker 镜像”简单看作帮你把 app 以及装好了,直接起或者编排一下再起就可以直接用 app 了。
    jdhao
        8
    jdhao  
       2020-05-07 17:43:42 +08:00 via Android
    类似虚拟机,把你需要的环境还有一些程序全部打包起来,放到一个叫做镜像的东西了,当你运行镜像,你就启动了一个容器,而且从这个镜像运行的容器都是一样的,保证了每次部署的一致性,再也不用每次安装软件,配置环境了
    nrtEBH
        9
    nrtEBH  
       2020-05-07 17:44:21 +08:00
    vm=os 级别隔离
    docker=进程级别隔离
    vm 可以跑不同内核在同一台宿主机
    docker 是共享内核的
    当然现在也有内核隔离的容器技术
    Aoang
        10
    Aoang  
       2020-05-07 18:02:52 +08:00 via Android
    沙盒,隔离资源
    1109599636
        11
    1109599636  
       2020-05-07 18:31:04 +08:00
    我个人理解的 docker 是在你启动一个特定进程时帮你自动化利用 linux 的 cgroups, namespace,rootfs 等功能 隔离并管理 这个特定进程
    ciqulover
        12
    ciqulover  
       2020-05-07 18:37:36 +08:00 via iPhone
    一条能装很多货的大鲸鱼
    Dillion
        13
    Dillion  
       2020-05-07 18:56:08 +08:00
    docker 是利用 Linux 的一些特性组装出来的进城级隔离机制,
    这些 Linux 特性包括:
    利用 chroot 做文件系统隔离,
    Dillion
        14
    Dillion  
       2020-05-07 18:59:17 +08:00
    各种 namespace 做进程空间隔离,比如 pid 、网络等
    cgroup 做资源隔离,如 cpu 、memory 资源

    本质上,一个启动起来的 docker container 就是一个 Linux 进程,只不过被上面说的那些机制互相隔离开来。

    ( v2 真的... 一个 tab,一个空格,就直接发出去了)
    julyclyde
        15
    julyclyde  
       2020-05-08 12:52:23 +08:00
    当虚拟机用,都是做好计划将来丢数据的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5356 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 09:20 · PVG 17:20 · LAX 01:20 · JFK 04:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.