标签:docker 镜像 mct img load 服务 https 监控 cpu 常用
Docker采用的是C/S架构,客户端向服务端发送请求,服务器负责构建、运行和分发容器。这里最常用的Docker客户端就是docker命令。服务端即是Docker daemon,其运行在宿主机上,负责创建、运行、监控容器和构建存储镜像。我们经常改完Docker的配置之后,会执行systemctl daemon-reload,这就是重启服务的作用。
1> cgroup 实现资源限额
cgroup 即是control group。linux 通过cgroup 限制进程的资源,我们对容器CPU/IO/MEM限额实际就是在配置cgroup。
容器的资源配置都在/sys/fs/cgroup/路径下可以找到。如下图标注的即是对IO\CPU\MEM限额的配置
在cpu目录下包含docker独立的文件夹,进入docker文件夹就会有各个容器的ID
接下来进入某个容器,查看cpu配额,是默认值1024
2> namespace 实现资源隔离
linux使用namespace让每一个容器看起来像一个独立的计算机,也就是ns实现了容器间的资源隔离。
linux主要包含6种ns,分别是6种资源:Mount、UTS、IPC、PID、Network和User
1、Mount让容器自己觉得有整个文件系统。可以在容器内部mount、unmout
2、UTS让容器有自己的hostname。默认是短ID,或者通过-h设置的。
3、IPC 容器有自己的共享内存和信号量来实现进程间的通信。不会和host和其他容器混在一起
4、独立的PID
所有容器挂在docker进程下
ps axf 查看本机所有的进程
可以看到容器的进程和容器的子进程。
进入容器内部再查看进程ID和host的进程ID又有不同,容器有自己独立的PID,这就是ns提供的功能
5、Network
让容器有自己独立的网卡和IP等资源,这些在docker网络中介绍过
6、User
在容器可以创建新的用户,但是在宿主机是看不到该用户的。
1、是什么
镜像实际是一个文件系统。可以看成是一个只读模板,通过镜像可以创建容器。
最大优点:共享资源。生成一个镜像都是基于一个基础镜像进行构建的,这个基础镜像可以被多个镜像使用。所以一个镜像是一层一层叠加而成的。
对于镜像层只是只读的,对于容器的改动(增、删、改)只会发生在容器层,所以只有容器层才是可写的。容器还有一个特性就是Copy-on-Write,就是在修改容器的时候会拷贝镜像层到容器层进行修改,所有的修改对于镜像层也是不感知的。这样大大增加了容器操作的效率,也维护了镜像层可以作为其他容器的base的特性
标签:docker 镜像 mct img load 服务 https 监控 cpu 常用
原文地址:https://www.cnblogs.com/tigergaonotes/p/14454533.html