注: 接上文使用腾讯云cvm搭建,安全组默认。vpc网络按照自己需求规划,嗯当然了也可以使用腾讯云的托管tke容器服务
容器和系统调用
这个图就是为了突出 container 都运行在kernel层上面
是不是可以理解为containers中app是直接运行在宿主机 的内核之上, vm虚拟机中的app是运行在虚拟机操作系统的内核上而不是宿主机的内核之上?
cgroups 限制进程使用的资源
Ram
Disk
CPU
namespaces 限制可以看到的进程
其他进程
用户
文件系统
例子:创建两个容器并检查它们是否彼此看不见
**两个容器运行与相同命名空间**
注: 通过以下试验就是为了证明下不同命名空间的两个容器是相互隔离的,相同命名空间的容器是不隔离的。共享命名空间。
root@cks-master:~# docker run --name c1 -d ubuntu sh -c "sleep 1d"
bc244ea97b2c0053dfa3df81580973034683fdda0c56abafe4ba4705b22866be
root@cks-master:~# docker exec c1 ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.2 0.0 2612 532 ? Ss 09:25 0:00 sh -c sleep 1d
root 6 0.0 0.0 2512 588 ? S 09:25 0:00 sleep 1d
root 7 0.0 0.0 5900 2960 ? Rs 09:25 0:00 ps aux
root@cks-master:~# docker run --name c2 -d ubuntu sh -c "sleep 999d"
44393c4c47b07d6b210acdd30440d5f4c8d8fa836f9aa4b1eb51e53556c03ccf
root@cks-master:~# docker exec c2 ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.1 0.0 2612 536 ? Ss 09:25 0:00 sh -c sleep 999d
root 6 0.0 0.0 2512 596 ? S 09:25 0:00 sleep 999d
root 7 0.0 0.0 5900 2852 ? Rs 09:25 0:00 ps aux
root@cks-master:~# ps -aux|grep sleep
root 6897 0.0 0.0 2612 532 ? Ss 17:25 0:00 sh -c sleep 1d
root 6939 0.0 0.0 2512 588 ? S 17:25 0:00 sleep 1d
root 7148 0.0 0.0 2612 536 ? Ss 17:25 0:00 sh -c sleep 999d
root 7186 0.0 0.0 2512 596 ? S 17:25 0:00 sleep 999d
root 7405 0.0 0.0 13780 1016 pts/0 S+ 17:26 0:00 grep --color=auto sleep
root@cks-master:~# docker rm c2 --force
c2
root@cks-master:~# docker run --name c2 --pid=contariner:c1 -d ubuntu sh -c "sleep 999d"
docker: --pid: invalid PID mode.
See 'docker run --help'.
root@cks-master:~# docker run --name c2 --pid=container:c1 -d ubuntu sh -c "sleep 999d"
31a8e174129c86387d3f696d3b6166a860fa2f1ac878efca81c5f9a6d68d5486
root@cks-master:~# docker exec c2 ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 2612 532 ? Ss 09:25 0:00 sh -c sleep 1d
root 6 0.0 0.0 2512 588 ? S 09:25 0:00 sleep 1d
root 13 0.0 0.0 2612 608 ? Ss 09:26 0:00 sh -c sleep 999d
root 18 0.0 0.0 2512 596 ? S 09:26 0:00 sleep 999d
root 19 0.0 0.0 5900 2820 ? Rs 09:33 0:00 ps -aux
root@cks-master:~# docker exec c1 ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 2612 532 ? Ss 09:25 0:00 sh -c sleep 1d
root 6 0.0 0.0 2512 588 ? S 09:25 0:00 sleep 1d
root 13 0.0 0.0 2612 608 ? Ss 09:26 0:00 sh -c sleep 999d
root 18 0.0 0.0 2512 596 ? S 09:26 0:00 sleep 999d
root 24 0.0 0.0 5900 2988 ? Rs 09:34 0:00 ps -aux
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。