• 一步
    2018-09-10
    这样把原理刨根究底的讲解出来,很好,理解的很透彻
    
     80
  • 兽医
    2018-09-13
    讲得非常不错,曾经翻遍了几乎所有Docker官方文档,都没教程中来得深刻,谢谢。。
     1
     38
  • 多肉
    2018-09-17
    一切从问题出发,根据问题理解答案,总结问题如下:
    一、docker镜像如何制作的两种方式是什么?
    二、容器既然是一个封闭的进程,那么外接程序是如何进入容器这个进程的呢?
    三、docker commit对挂载点volume内容修改的影响是什么?
    四、容器与宿主机如何进行文件读写?或volume是为了解决什么题?
    五、Docker的copyData功能是什么?解决了什么问题?
    六、bind mount机制是什么?
    七、cgroup Namespace的作用是什么?
    展开
    
     23
  • 黄文刚 
    2018-09-10
    收货很大,感谢张磊!请教一个问题,请问在容器内部如何获取宿主机的IP? 谢谢。

    作者回复: 单靠容器,在隔离开的情况下是拿不到的。但是有了kubernetes之后这些系统信息都可以从环境变量里拿到。这个功能叫downwardapi

     1
     21
  • 与路同飞
    2018-09-10
    有预感专栏会破2万
     2
     19
  • 蔡鹏飞
    2018-09-12
    docker run 时指定-v挂载宿主机目录到容器目录,即使容器原有目录内有数据,也会被我宿主机目录数据替代的呀。难道是和我使用的storage-driver有关?我用的是overlay存储。

    作者回复: 这个行为其实是可配置的

     1
     8
  • robin
    2018-09-21
    只会最后这个。
    docker run -p 8000:80 --cpuset-cpus="1" -m 500M helloworld 限制只能在cpu1上运行,内存限制为500M
    
     6
  • Liam
    2018-09-10
    这节干货满满啊
    
     6
  • manatee
    2018-09-10
    非常感谢老师的讲解,咱们这个有群可以互相交流吗?
    
     5
  • 陶希阳
    2018-09-10
    想知道云服务器等技术是不是也是通过namespace + cgroup实习的?

    作者回复: 当然不是,那可是正儿八经的虚拟化技术

    
     5
  • 假装乐
    2018-09-10
    听来清晰易懂,省去不少学习时间
     1
     5
  • Han
    2019-05-06
    有两个问题不是很清楚:
    1)推荐一个docker运行一个进程,多出来的进程会变成“野”进程。那么如何理解这个野?是说不再受docker设置的namespace以及Cgroup约束了么?
    2)docker exec是在相同的namespace下创建的新进程。那么这个进程是不是也是“野”的?相比与docker attach来讲。attach是不是没有新建进程,只是attach到docker中的主进程去?
    
     4
  • long904
    2018-09-13
    图中不太明白为什么'CMD'属于只读层,那如果 dockfile 里面 yum install 并且 commit 的话,这些 CMD 执行的 yum 命令修改的内容还属于只读层?

    作者回复: 任何镜像里的内容,都属于只读层。commit之后的东西当然也属于只读层。

    
     4
  • Leon📷
    2019-01-06
    cgroupns作用
    (1)可以限制容器的cgroup filesytem视图,使得在容器中也可以安全的使用cgroup;
    (2)此外,会使容器迁移更加容易;在迁移时,/proc/self/cgroup需要复制到目标机器,这要求容器的cgroup路径是唯一的,否则可能会与目标机器冲突。有了cgroupns,每个容器都有自己的cgroup filesystem视图,不用担心这种冲突。
    
     3
  • 大卫
    2019-01-04
    张老师,当Dockerfile中使用sh脚本启动,而不是exec启动java应用时,若通过docker stop不能优雅的停掉Java进程。查资料说可用trap接受信号处理,这个有什么其他好的解决办法没?

    作者回复: trap sig term kill很标准的做法

    
     3
  • jssfy
    2018-09-11
    请问docker挂载有何限制没,是否随便一个目录都可以挂载?在容器里应该是root用户,岂不是可以对目录无节制地操作,哪怕原本主机目录中有些文件并不允许当前用户访问?是否可以相应限制

    作者回复: 无限制。至于用户权限,是有user namespace可以做一定的限制。

    
     3
  • Casper
    2018-09-10
    对于linux大部分容器做不到在运行容器中动态添加宿主机目录,那在什么特定场合下可以做到呢?给个大致思路即可,谢谢。

    作者回复: 如果你用的是katacontainers这种基于虚拟化的容器,才可以实现。但原生其实也不提供这个功能。

    
     3
  • silver
    2018-09-10
    所以说 docker exec 每次都会创建一个和容器共享namespace的新进程?

    作者回复: 可以这么理解,i.e. spawn a new process in existing namespace

    
     3
  • 线条
    2018-11-19
    有推荐的linux书籍补补基础的吗?浅显易懂又要有一定深度的?
    
     2
  • Goteswille
    2018-11-03
    磊哥好,有个小疑问 容器启动初始化容器进程与容器启动够英勇进程之间关系?谢谢
    
     2
我们在线,来聊聊吧