1.相比较虚拟机,容器有哪些技术优势?
答:(1)容器共享主机内核,比虚拟机更省资源,启动更快。(2)可以快速创建、销毁容器。(3)更加便携。
2.容器镜像是什么?
答:容器镜像是一个只读模板,包含运行应用所需的所有东西:代码、库、环境配置等。
- RHEL 提供了哪些容器工具?
答:Podman、Skopeo、Buildah、Cockpit。
4.根容器和无根容器有什么区别?
答:(1)根容器以root权限运行,权限大但有安全风险。
(2)无根容器以普通用户权限运行,更安全但部分功能受限。
5.请谈一下容器镜像( image )和仓库/注册表( registry )的关系。
答:镜像通过push上传到仓库,通过pull从仓库下载到本地。
6.请写出以 shell 交互方式运行容器的命令。
答:命令:podman run -it --name=mycontainer 镜像名 /bin/bash 。
7.请说明如何配置容器仓库。
答:编辑配置文件 /etc/containers/registries.conf,添加仓库地址:registries.search
registries = 'registry.redhat.io', 'docker.io'
8.如何检查仓库中的和本地的容器镜像?
答:(1)查看本地镜像:podman images
(2)查看仓库中的镜像:skopeo search docker://docker.io/镜像名
9.如何移除本地镜像?
答:使用命令:podman rmi 镜像ID或名称 。
10.使用容器时,如何将主机端口和容器端口进行映射?
答:使用命令:podman run -d -p 主机端口:容器端口 镜像名 。
11.在运行容器时如何给容器传递参数?
答:在run命令末尾直接添加参数:podman run 镜像名 参数1 参数2 。
12.写出管理容器时的常见命令,比如查看、终止、删除、重启等。
答:(1)查看运行容器:podman ps ;
(2)停止容器:podman stop 容器名/ID ;
(3)删除容器:podman rm 容器名/ID ;
(4)重启容器:podman restart 容器名/ID 。
13.如何在容器中运行业务系统的命令?
答:(1)启动时直接运行:podman run 镜像名 命令 。
(2)进入已运行容器执行:podman exec -it 容器名 /bin/bash -c "命令"
14.如何为容器提供持久存储?
答:使用-v绑定主机目录到容器:
podman run -v /主机路径:/容器路径 镜像名
15.如何进行配置才能使容器在 Linux 启动时自动运行?
答:使用--restart策略或系统服务:
podman run -d --name=myapp --restart=always 镜像名