RHCSA练习题21-22 :podman部署容器
二十一:配置容器以使其自动启动
按以下要求部署容器:
- 使用容器注册服务器上的 rsyslog 镜像, 创建一个名为 logserver 的容器
- 将容器配置为以 systemd 服务的形式运行,且仅面向现有用户 containers
- 该服务应命名为 container-logserver , 并在系统重新引导后自动启动,而无需任何干预
二十二:为容器配置持久存储
通过以下方式扩展上一个任务的服务:
- 配置主机系统日志以在系统更新引导后保留其数据,并重新启动日志记录服务
- 将主机 /var/log/journal 目录及任何子目录中的任何 *.journal 文件复制到目录 /home/containers/container_journal 中
- 将服务配置为在启动时自动将目录 /home/containers/container_ journal 挂载到容器的 /var/log/journal 下面
Answer:
因为这两个题彼此关联,所以放在一起来解答
流程:
- containers用户则建立
- 编辑/etc/systemd/journal.conf文件
- 设置persisent永久存储
- 重启systemd-journald服务
- 建立文件夹,复制相关文件到相应路径
- 安装podman
- 登陆
- 搜索和拉取相应容器
- 设置容器目录,名字
- 生成服务文件
- 创建服务
- 设置linger在启动时自动启动容器
相关命令:
添加用户,考试时候根据要求填写,
useradd containers
echo redhat|passwd –stdin containers //考试的时候按照实际要求操作
编辑配置文件,设置日志为永久存储
vim /etc/systemd/journal.conf
Storage=persistent
systemctl restart systemd-journald.service
su - containers
mkdir -p /home/containers/container_journal
exit
find /var/log/journal -name "*.journal" -exec cp -rf {} /home/containers/container_journal/ \;
使用用户containers登陆创建容器
ssh containers@serverb
podman login registry.network9.example.com
> userxxxx
> passxxxx
podman pull rsyslog
podman images
podman run -d –name=logserver -v /home/containers/container_journal:/var/log/journal:Z rsyslog
mkdir -p ~/.config/systemd/user
cd .config/systemd/user/
podman generate systemd –name logserver –files –new
systemctl –user daemon-reload
systemctl –user enable container-logserver –now
systemctl –user status container-logserver
loginctl enable-linger
loginctl show-user containers
验证:
reboot然后查看容器是否自动启动
podman ps