一、隔离机制
1、docker的隔离原理是基于linux底层机制进行的隔离。
namespace资源隔离
namesapce | 系统调用参数 | 隔离内容 |
UTS | CLONE_NEWUTS | 主机名 |
IPC | CLONE_NEWIPC | 信号量、消息队列 |
PID | CLONE_NEWIPC | 进程号 |
Network | CLONE_NEWNET | 网络设备、端口 |
Mount | CLONE_NEWNS | 挂载点 |
User | CLONE_NEWUSER | 用户和用户组 |
2、cgroups资源限制
资源限制:限制任务使用的资源总额;并在超过这个配额发出提示
优先级分配:分配cpu时间片数量及磁盘IO带宽大小、控制任务运行的优先级
资源统计:统计系统资源使用量。如CPU使用时长、内存用量等
任务控制:对任务执行挂起、恢复等 *** 作
子系统 | 描述 |
cpu | 对cpu的使用 |
CPU Accounting | 自动生成对cpu资源使用情况的报告 |
cpuset | 分配独立的cpu和内存 |
devices | 开启或关闭cgroup任务对设备的访问 |
freezer | 挂起或恢复cgroup中的任务 |
memory | 设定cgroup中任务对内存使用量的限定;并生成对内存资源使用情况的报告 |
perf_event | 使cgroup的任务可以进行统一的性能测试 |
net_cls | 通过登记识别标记网络数据包;从而允许linux流量监控程序识别从具体cgroup中生成的数据包 |
二、docker的安装
在线安装方式
1、卸载docker
yum remove -y docker*
2、安装docker;
参考官方文档
Install Docker Engine on CentOS | Docker Documentation
参考阿里云文档
docker-ce镜像-docker-ce下载地址-docker-ce安装教程-阿里巴巴开源镜像站
离线安装方式
官方文档:
Install Docker Engine from binaries | Docker Documentation
三、镜像加速
1、阿里云镜像加速
阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
配置如下:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://lqpaclk7.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
常用加速地址:
官方地址:https://registry.docker-cn.com
腾讯云:https://mirror.ccs.tencentyun.com
中科大:https://docker.mirrors.ustc.edu.cn
网易云:https://hub-mirror.c.163.com
多个加速配置方法:
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://1nj0zren.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"http://f1361db2.m.daocloud.io",
"https://registry.docker-cn.com"
]
}
四、常用命令
参考官方文档具体命令说明:Reference documentation | Docker Documentation
1、docker命令图
2、查看命令
docker info
# 版本查看
docker version
# 帮助
docker --help
3、镜像命令
# 查看本地镜像
docker images
# 搜索镜像
docker search imagename
# 下载镜像
docker pull imagename
# 上传镜像
docker push imagename
# 导出镜像
docker image save imagename > image.tar.gz
# 导入镜像
docker load -i image.tar.gz
# 删除镜像
docker rm image inamename
# 镜像详细信息查看
docker image inspect imagename
# 镜像历史制作
docker image history imagename
4、容器命令
# 查看所有容器
docker ps -a
# 删除容器
docker container rm -f ccontainername
# 删除所有容器
docker container rm -f `docker ls -a -q`
# 进入到容器
docker exec -it containername /bin/bash
# 查看容器详细信息
docker container inspect containername
# 运行并启动容器
docker run -it imagename
# 启动容器
docker start containername
# 停止容器
docker stop containername
# 查看容器日志
docker log containername
# 启动守护进程容器并指定端口
docker run -d -p 宿主机端口:容器端口 imagename
# 启动守护进程容器并挂载目录
docker run -d -v 宿主机目录:容器目录 imagename
# 启动守护进程容器并限制资源
docker run -it --name alpine-test -m=4g #限制内存为4G
docker run -dit --cpus=2 nginx:1.19.2-alpine #限制cpu核心数
# 注意对于docker而言;如果启动容器不限制资源;默认是和宿主机共用的资源,会无限制的使用宿主机的资源
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)