Docker的技术原理:
1. Linux 命名空间(Namespaces)
进程命名空间:使得每个容器拥有独立的进程空间,互相隔离,不受其他容器影响。
网络命名空间:提供独立的网络栈,每个容器有自己的网络接口、IP地址,实现网络隔离。
文件系统命名空间:每个容器拥有自己的文件系统视图,使得容器间文件系统互相隔离。
2. 控制组(cgroups)
控制组允许限制和隔离一个或多个进程的系统资源(如CPU、内存、磁盘I/O等),确保容器资源可预测、可控。
3. Union 文件系统
Docker使用Union文件系统(例如AUFS、OverlayFS)实现镜像的分层,镜像的每一层都是只读的,并且可以共享。
4. Docker 镜像
镜像是容器运行的基础,它包含应用程序运行所需的所有内容,由多个分层构成,并通过联合加载形成完整的文件系统。
5. Docker 守护进程和客户端
Docker守护进程(dockerd)负责管理镜像、容器、网络和存储卷等资源。
Docker客户端(docker命令)通过API与守护进程通信,发出命令和操作Docker守护进程。
6. 容器与宿主机交互
Docker容器与宿主机之间通过命名空间和控制组进行通信,但受限于所选的网络模式。
7. Docker网络
Docker提供多种网络模式,如桥接(bridge)、主机(host)、Overlay等,以满足不同场景下的网络需求。
8. 存储卷
存储卷是持久化数据的一种方式,可以使容器和宿主机之间共享数据,也可以用于容器间共享数据。
这些技术和原理共同作用,使得Docker能够实现高效的容器化,提供了轻量、可移植和可扩展的应用部署解决方案。
在CentOS上安装docker(最小化安装CentOS)
1. 安装其他工具
yum install net-tools yum-utils -y
2. 配置Docker的yum源(使用阿里云镜像站)
1) 进入阿里云镜像站 https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.57e31b11rLIaz5
2) 搜索docker-ce
3)在Linux使用命令 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3. 使用命令安装Docker
yum install docker-ce
# 如果需要安装指定版本可以使用 yum install docker-ce-具体版本号
4.检查是否安装成功
[root@docker ~]# docker -v
Docker version 24.0.7, build afdd53b
# 可以正常回显代表安装正常
5. 启动、开机自启docker
[root@docker ~]# systemctl enable --now docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/208736.html