1、容器是什么

容器技术是一种轻量级的虚拟化技术,通过操作系统级虚拟化(而非硬件虚拟化)实现应用及其依赖的隔离运行。它利用Linux内核的命名空间(Namespaces)和控制组(CGroups)机制,为每个容器提供独立的进程、网络、文件系统等资源视图,同时共享宿主机的内核

1.1 为什么要使用容器

容器 vs 虚拟机
在这里插入图片描述
容器的优点
轻量化:无需完整操作系统,秒级启动,资源占用低
一致性:应用及其依赖打包为镜像,确保环境一致
可移植性:跨环境(开发/测试/生产)无缝迁移

容器的核心技术:
Namespaces:隔离进程、网络、文件系统等资源
Cgroups:限制资源使用(CPU、内存等)
SELinux/Seccomp:增强安全边界,防止越权访问

1.2 部署容器

  1. 先安装container-tools元软件包

  2. 然后在主目录里配置registry.lab.example.com以admin用redhat321作为密码登录容器注册表podman login registry.lab.example.com
    在这里插入图片描述

  3. 在注册表里podman search搜索python38然后检查skopeo inspec

  4. 然后pull拉取python38的容器镜像t

  5. 验证是否下载podman images

  6. 启动python38 run -d –name

  7. 验证容器是否建好podman ps

  8. 检查/home/student/python39目录中的容器文件Containerfile

  9. 从容器文件创建容器镜像build -t

  10. 验证是否存在images,检查39容器inspect,创建39容器create 启动39容器start,验证是否运行 ps
    在这里插入图片描述

  11. 将/home/student/script.pypython脚本复制到两个容器的/tmp目录

  12. 在两个容器中运行exec -it python39 python3 /tmp/script.py
    在这里插入图片描述

1.3 容器管理工具(Podman)

Podman 特性:
无守护进程:直接运行容器,无需后台服务。
Rootless 支持:非特权用户可运行容器,提升安全性。
兼容 OCI 标准:与 Docker 生态兼容。
常用命令:
bash
podman pull <镜像名> # 下载镜像
podman build -t <标签> . # 构建镜像
podman run -d -p 80:8080 <镜像名> # 运行容器并映射端口
podman ps -a # 查看所有容器
podman rm <容器ID> # 删除容器

二、容器的技术

2.1 容器持久化存储

临时存储:容器默认数据在删除后丢失
持久化方案:
主机目录挂载:通过 -v /主机路径:/容器路径 映射目录。
SELinux 上下文:需设置正确的标签(如 :Z 自动调整)。
用户命名空间 UID/GID 映射:确保容器内用户权限匹配主机

2.2 容器网络配置

端口映射:将主机端口转发到容器(如 -p 8080:80)
DNS 解析:
默认网络不支持容器间域名解析,需创建自定义网络:
bash
podman network create mynet
podman run --network=mynet --name=web <镜像名>

2.3 系统化容器管理(Systemd)

作为系统服务运行:
生成 systemd 单元文件,自动管理容器生命周期:
bash
podman generate systemd --name=web --new > ~/.config/systemd/user/web.service
systemctl --user enable --now web # 启用并启动服务

Tips

请写出以 shell 交互方式运行容器的命令
Podman exec -it 容器名python38 /bin/bash或者/tmp/script.py
Podman run -it –名字image /bin/bash

请说明如何配置容器仓库
系统:/etc/containers/registries.conf
用户:~/.config/containers/registries.conf

如何为容器提供持久存储?
用数据卷 创建数据卷podman volume create卷名 然后挂载数据卷运行容器podman run -v 卷名:容器内路径镜像名

彩蛋
规模化容器编排(Kubernetes 扩展)
Kubernetes(K8s):解决多容器调度、自动扩缩容、服务发现等复杂场景

更多推荐