Linux操作系统,基于容器的相关知识简述。
1. 相比较虚拟机,容器有哪些技术优势?
安全,存储,网络隔离
在操作系统上直接运行,容器之间分享硬件和操作系统资源,轻量化和快速并行运行,共享内核,兼容该内核的任何软件,比虚拟机要求更少的硬件资源,可以快速启动停止,减少存储需求,依赖性,配置设置。
2. 容器镜像是什么?
创建容器的蓝图,打包一个应用程序和它的:系统库函数,编程语言运行时,编程语音函数库,配置,静态数据文件。
3. RHEL 提供了哪些容器工具?
Podman、Buildah和Skopeo
4. 根容器和无根容器有什么区别?
根容器需要root身份运行,隔离性低;无根容器不需要特权,对主机系统影响较小,与主机系统隔离。
5. 容器镜像(image)和仓库/注册表 (registry)的关系。
容器注册表是用于存储和检索容器镜像的存储库。开发人员将容器镜像推送或上传到容器注册表中。可以从注册表中将这些容器镜像拉取或下载到本地系统,以用于运行容器。
6. 以 shell 交互方式运行容器的命令。
Podman start name/ID
7. 如何配置容器仓库。
在 $HOME/.config/containers 目录中为容器注册表创建 registries.conf 文件。此目录中的配置文件会覆盖/etc/containers/registries.conf 文件中的设置,并在 Podman 以rootless 模式运行时使用。在[[registry]]部分添加
8. 如何检查仓库中的和本地的容器镜像?
Podman images命令
9. 如何移除本地镜像?
Podman rmi 命令
10. 使用容器时,如何将主机端口和容器端口进行映射?
Podman run –p 主机端口:容器端口 镜像名
11. 在运行容器时如何给容器传递参数?
Podman run -e 命令
12. 管理容器时的常见命令,比如查看、 终止、 删除、 重启等。
查看podman ps
终止podman kill
删除podman rm
重启podman restart
13. 如何在容器中运行业务系统的命令?
podman run -it命令
14. 如何为容器提供持久存储?
例如将 /home/user/db_data目录挂载到 db01容器中,以在容器的/var/lib/mysql目录中提供持久存储。创建/home/user/db_data目录,并使用 podman unshare 命令将 27的用户命名空间 UID 和 GID 设置为该目录的所有者,容器中的UID和GID27映射到主机计算机上的UID和GID100026;podman run -v命令挂载目录
15. 如何进行配置才能使容器在 Linux 启动时自动运行?
Loginctl enable-linger命令