新手入门docker理论笔记

新手入门docker理论笔记

docker是什么

1.一种操作系统级的虚拟技术。
2.使用最广泛的开源容器引擎。
3.依赖于Linux内核特性:namespace(资源隔离)和Cgroups(资源限制)

安装docker

安装依赖包
yum install -y yum-utils
添加Docker软件包源
yum-config-manager
–add-repo
https://download.docker.com/linux/centos/docker-ce.repo
安装Docker CE
yum install -y docker-ce
启动Docker服务并设置开机启动
systemctl start docker
systemctl enable docker
https://docs.docker.com/engine/install/centos/
官方文档:https://docs.docker.com
阿里云源:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

镜像管理

1.镜像是一个分层存储的文件,不是一个单一的文件。
2.一个镜像可以起N个容器。

镜像从哪来

Docker Hub是由Docker公司负责维护的公共镜像仓库,包含大量的容器镜像,Docker工具默认从这个公共镜像库下载镜
像。
地址:https://hub.docker.com
配置镜像加速器:
vi /etc/docker/daemon.json
{
“registry-mirrors”: [“https://b9pmyelo.mirror.aliyuncs.com”]
}

镜像与容器的联系

镜像:类似与虚拟机的镜像,一个只读模板。
容器:通过镜像创建的运行实例。

管理镜像常用命令

命令描述
ls描述
build构建镜像
history查看镜像历史
rm删除镜像
inspect显示一个或多个镜像详细信息
pull从镜像仓库拉取镜像
push推送一个镜像到镜像仓库
prune移除没有被标记或者没有被任何容器引用的镜像
tag创建一个引用源镜像标记目标镜像
export导出容器文件系统到tar归档文件
import导入容器文件系统tar归档文件创建镜像
save保存一个或多个镜像到一个tar归档文件
load加载镜像来自tar归档或标准输入

镜像存储核心技术:联合文件系统(UnionFS)

镜像的高效存储是引入联合文件系统,将镜像分层挂载到容器文件系统。

镜像存储核心技术:写时复制

上面说到镜像是一个只读的,但是需要修改时,会先将镜像里需要修改的文件复制到自己的文件系统进行修改。

创建容器常用选项

命令描述
i,–interactive交互式
-t ,–tty分配一个伪终端
-d, –detach运行容器到后台
-e,–env设置环境变量
-p,–publish list发布容器端口到主机
-P, –publish-all发布容器所有EXPOSE的端口到宿主机随机端口
–name string指定容器名称
-h, –hostname设置容器主机名
–ip string指定容器IP,只能用于自定义网络
–network连接容器到一个网络
–mount mount将文件系统附加到容器
-v, –volume list绑定挂载一个卷
–restart string容器退出时重启策略,默认no,可选值:[always

容器资源限制

示例:
内存限额:
允许容器最多使用500M内存和100M的Swap,并禁用 OOM Killer:
docker run -d --name nginx03 --memory=“500m” --memory-swap=“600m" --oom-kill-disable nginx
CPU限额:
允许容器最多使用一个半的CPU:
docker run -d --name nginx04 --cpus=“1.5” nginx
允许容器最多使用50%的CPU:
docker run -d --name nginx05 --cpus=".5" nginx

Docker核心组件之间关系

Docker Daemon:Docker守护进程,负责与Docker Clinet交互,并管理镜像、
容器。
Containerd:是一个简单的守护进程,向上给Docker Daemon提供接口,向下
通过containerd-shim结合runC管理容器。
runC:一个命令行工具,它根据OCI标准来创建和运行容器。

小结

Namespace
命名空间,Linux内核提供的一种对进程资源隔离的机制,例如进程、网络、挂载点等资源。
 CGroups
控制组,Linux内核提供的一种对进程组限制资源的机制;例如CPU、内存等资源。
 UnionFS
联合文件系统,支持将不同位置的目录挂载到同一虚拟文件系统,形成一种分层的模型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值