当前位置: 首页 > news >正文

【Linux】第二十五章 运行容器

1. 相比较虚拟机,容器有哪些技术优势?

  • 容器共享宿主操作系统的内核,容器之间分享硬件和操作系统资源,启动速度更快,可以高效利用资源。
  • 容器打包了应用程序及其所有依赖项,具有跨平台和跨环境的可移植性
  • 比虚拟化要求更少的硬件资源,可以快速启动和停止,减少存储需求

2. 容器镜像是什么?

容器镜像是启动和创建 容器 实例的基础,它提供了应用程序和所需环境的一切——包括操作系统、库、二进制文件、配置文件和其他必要的依赖项。通过容器镜像,开发者可以确保应用程序在不同环境中一致地运行。

容器是一个镜像的实例化,镜像本身是只读,而容器在运行时会生成一个 可写层,允许应用程序执行时修改数据(如临时文件、缓存等)。

3. RHEL 提供了哪些容器工具?

  • podman:管理容器和容器镜像。
  • skopeo:检查、复制、删除和签名镜像。
  • buildah:创建新的容器镜像。

4. 根容器和无根容器有什么区别?

  • 无根容器:非特权用户运行的容器。更安全但同时有一些限制,例如:无根容器不能通过容器主机的特权端口(1024以下的端口)发布网络服务。
  • 根容器:root用户运行的容器,可以访问主机系统的资源和操作系统功能,但这在一定程度上削弱了系统的安全性。

5. 请谈一下容器镜像(image)和仓库/注册表 (registry)的关系。

仓库/注册表 是用来存储这些容器镜像的地方。镜像可以被推送(上传)到注册表,也可以从注册表拉取(下载)到本地机器中。

6. 请写出以 shell 交互方式运行容器的命令。

podman run -it 镜像名称。先拉取镜像,再运行容器。

7. 请说明如何配置容器仓库。

registry 的默认配置文件是 /etc/containers/registries.conf 文件。

  • 建议在 $HOME/.config/containers 目录中创建 registries.conf 文件,用以覆盖默认配置文件。
  • registries.conf 文件中的 [registries.search] 设置容器镜像的查找顺序。
  • registries.conf 文件中的 [registries.insecure] 设置不安全的注册表,如果注册表是不安全的,则不会使用 TLS 加密来保护与该注册表的连接。

8. 如何检查仓库中的和本地的容器镜像?

使用 skopeo inspect 命令从本地目录或远程注册表检查不同的容器镜像元数据,而无需下载镜像。

9. 如何移除本地镜像和容器?

删除容器:podman rm 。

删除镜像:podman rmi 。

在删除镜像前,必须要移除与镜像关联的任何容器。

10. 使用容器时,如何将主机端口和容器端口进行映射?

podman run -p 主机端口:容器端口

11. 在运行容器时如何给容器传递参数?

使用 podman run -e 将环境变量传递给容器。

12. 写出管理容器时的常见命令,比如查看、 终止、 删除、 重启等。

  • 查看容器:podman ps 。
  • 终止容器:podman stop 。
  • 删除容器:podman rm 。
  • 重启容器:podman restart 。

13. 如何在容器中运行业务系统的命令?

podman exec 命令加指定容器,后面再跟业务系统命令。

14. 如何为容器提供持久存储?

将主机上的一个目录或文件挂载到容器中,首先创建一个目录作为持久存储位置,然后启动容器并将该目录挂载到容器中:podman run -d --name my_container -v /path/on/host : /path/in/container my_image 。

15. 如何进行配置才能使容器在 Linux 启动时自动运行?

  • 生成 systemd 服务单元文件:podman generate systemd --name my_container > /etc/systemd/system/my_container.service ,保存到 /etc/systemd/system/ 目录下。

  • 启用服务:sudo systemctl daemon-reload;sudo systemctl enable my_container.service;sudo systemctl start my_container.service。

相关文章:

  • 量子计算与云计算的融合:技术前沿与应用前景
  • COMPUTEX 2025 | 广和通创新解决方案共筑AI交互新纪元
  • Ubuntu 20.04卸载并重装 PostgreSQL
  • 【算法创新+设计】灰狼算法GWO+扰动算子,求解大规模TSP问题利器
  • 基于python的机器学习(七)—— 数据特征选择
  • (八)深度学习---计算机视觉基础
  • 大语言模型 16 - Manus 超强智能体 Prompt分析 原理分析 包含工具列表分析
  • 【notepad++如何设置成中文界面呢?】
  • 通信协议详解(分层技术解析)
  • vue3使用 Tailwind CSS (4.多版本)
  • Babylon.js学习之路《七、用户交互:鼠标点击、拖拽与射线检测》
  • OBOO鸥柏丨AI数字人触摸屏查询触控人脸识别语音交互一体机上市
  • pikachu靶场 暴力破解
  • 系统程序变更管理:确保IT环境稳定性和安全性的关键
  • 【东枫科技】usrp rfnoc 开发环境搭建
  • 【Java高阶面经:数据库篇】13. MySQL 并发控制秘籍:MVCC 协议与隔离级别深度解析
  • RAG 挑战赛冠军方案解析:从数据解析到多路由器检索的工程实践,推荐阅读!
  • 2025第一届轩辕杯--Crypto--WriteUp
  • [250521] DBeaver 25.0.5 发布:SQL 编辑器、导航器全面升级,新增 Kingbase 支持!
  • Android本地语音识别引擎深度对比与集成指南:Vosk vs SherpaOnnx
  • 怎么自己做一个公众号/厦门百度seo点击软件
  • 佛山做网站建设公司/uc推广登录入口
  • 进行网站开发前 需要干什么/企业seo优化服务
  • 基于asp网站开发 论文/惠州网站建设方案推广
  • 教做游戏的网站/百度一下主页官网
  • 湖北外贸网站建设价格/如何注册网站