要求

1.登录到指定的镜像仓库拉取镜像

2.以普通用户contsvc运行

3.配置 systemd-journald 服务,要求永久保留日志数据(物理机,创建文件mkdir /var/log/journal)

3.服务自启动(普通用户身份)

4.将 /var/log/journal(物理机用户为root) 目录及任何子目录中的任何 *.journal 文件复制到/home/contsvc/container_journal 中

6.容器服务启动时能自动将 /home/contsvc/container_ journal挂载到容器中的 /var/log/journal 上

将物理机的数据复制到contsvc的container_journal下,然后拉去镜像。将contaier_journal挂载进容器里的/var/log/contsvc。开机,容器以普通用户自启

实验步骤

lab containers-services start

创建镜像仓库

useradd contsvc
echo redhat | passwd --stdin contsvc

创建普通用户并设置密码

mkdir  /var/log/journal
systemctl restart systemd-journal

创建永久保留日志数据

ssh contsvc@servera

ssh登录contsvc用户

mkdir -p .config/containers/

创建容器配置文件

cp  -ar  /tmp/containers-service/   ./.config/containers/registries.conf

将tmp下的容器仓库拷贝到镜像文件

podman search httpserver

测试是否使用镜像仓库文件

mkdir  .config/container_journal

创建被挂载的数据

cp -a /var/log/journal/*/*.journal   ~/.config/container_journal

将物理机上的日志文件拷到container_journal

podman  login  registry.lab.example.com

登录镜像仓库

podman run -d  --name  httpserver -v  ~/.config/container_journal:/var/log/journal:Z -p 8080:8080 registry.lab.example.com/rhel8/httpd-24:1-105

拉起镜像生成容器

podman exec -it httpserver /bin/bash
cd /var/log/journal;ls

查看有没有挂载成功

exit
mkdir -p ~/.config/systemd/user
podman generate systemd --name httpserver --files --new
--new 容器停止时删除容器 --files 将输出的内容打印成文件
--name 会使容器名字更工整

登出容器并让容器停止后自动删除容器 (创建systemd单元文件)

podman rm -f  httpserver

停止并且删掉容器

systemctl  --user   daemon-reload

重载单元文件

systemctl   --user enable container-httpserver.service

自启动容器

设置contsvc的服务开机时启动

loginctl enable-linger contsvc

(根据contsvc家目录的单元文件)

loginctl  show-user  contsvc

查看是否成功

reboot
ssh contsvc@servera
podman ps

重启测试

podman exec -it  xxxx  /bin/bash
logger -p authpriv.info 'hello contsvc'

进入容器并测试一条命令

Linux podman容器实验的更多相关文章

  1. Podman容器基础(二)

    Podman容器技术基础(二) 目录 Podman容器技术基础(二) 容器的使用 用户操作 用户配置文件 容器卷 容器的使用 运行一个容器 [root@cent1 ~]# podman pull ht ...

  2. Podman容器技术基础

    Podman容器技术基础 目录 Podman容器技术基础 简介 安装 基础命令 简介 Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用.Podman 提供与 Docker ...

  3. Cgroup maintainer丽泽范:解剖Linux核心容器技术

    摘要:Cgroup和namespace等内核特性如何出现,在社区处于如何的开发状况?Docker如火如荼.内核社区是否会因此加紧完好容器技术的隔离性安全性?华为Linux内核高级project师李泽帆 ...

  4. Linux内核分析实验六

    Linux内核分析实验六 进程控制块PCB——task_struct(进程描述符) 为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息. struct task_s ...

  5. Linux系统日志清除实验

    实验目的 1.了解Linux日志的作用. 2.掌握删除Linux日志的方法. 实验原理 所谓日志(Log)是指系统所指定对象的某些操作和其操作结果按时间有序的集合.每个日志文件由日志记录组成,每条日志 ...

  6. Docker 与 Podman 容器管理的比较

    翻译自 Paul Ferrill 2020年9月1日的文章<Compare Docker vs. Podman for container management> [1] Docker 和 ...

  7. Linux磁盘配额实验

    1.实现磁盘限额的条件 *需要Linux内核支持 *安装quota软件包2.Linux磁盘限额的特点 作用范围:针对指定 文件系统(分区) 限制对象:普通用户帐号.组帐号 限制类型:磁盘容量(默认单位 ...

  8. 【MOOC EXP】Linux内核分析实验八报告

    程涵  原创博客 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 进程的切换和系统的一般执行过程 知识点 ...

  9. 【MOOC EXP】Linux内核分析实验七报告

    程涵  原创博客 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 可执行程序的装载 知识点梳理 一.预处 ...

  10. 【MOOC EXP】Linux内核分析实验六报告

    程涵  原创博客 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 进程的描述和进程的创建 知识点梳理: ...

随机推荐

  1. CentOS7的一些常规操作

    1.启动或者重启sshd服务: systemctl stop sshd.service systemctl start sshd.service systemctl restart sshd.serv ...

  2. Dump Rtmp Stream To FLV File (从Rtmp流保存为FLV文件)

    一.准备工作 搭建本地rtmp服务: https://www.cnblogs.com/doudouyoutang/p/6602430.html 获取使用到的库,openssl 和 librtmp 参考 ...

  3. 利用cycript动态调试app

    一.准备 ios系统越狱环境 安装ssh 安装cycript 二.执行命令 找到进程注入: 6187 ?? 0:00.70 /var/containers/Bundle/Application/ 61 ...

  4. 基于Vue的二进制时钟组件 -- fx67llBinaryClock

    fx67llClock Easy & Good Clock ! npm 组件说明 一个基于Vue的二进制时钟组件,没什么卵用,做着好玩,可以方便您装饰个人主页 使用步骤 npm install ...

  5. 机器学习算法(一):1. numpy从零实现线性回归

    系列文章目录 机器学习算法(一):1. numpy从零实现线性回归 机器学习算法(一):2. 线性回归之多项式回归(特征选取) @ 目录 系列文章目录 前言 一.理论介绍 二.代码实现 1.导入库 2 ...

  6. shiro有哪些组件?

    a.Authentication:身份认证/登录,验证用户是不是拥有相应的身份: b.Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限:即判断用户是否能做事情,常见的 ...

  7. CloseableHttpClient 连接超时导致XxlJob调度阻塞,影响调度任务的执行

    CloseableHttpClient 连接超时导致XxlJob调度阻塞,影响调度任务的执行 问题原因1.分析日志发现,xxlJob后台界面没有执行时间和执行结果,在某一个时间点之后,某一个任务因为阻 ...

  8. 安装 Nuxt.js 的步骤和注意事项

    title: 安装 Nuxt.js 的步骤和注意事项 date: 2024/6/17 updated: 2024/6/17 author: cmdragon excerpt: Nuxt.js在Vue. ...

  9. 硬件开发笔记(二十一):外部搜索不到的元器件封装可尝试使用AD21软件的“ManufacturerPart Search”功能

    前言   这是一个AD的一个强大的新功能,能招到元器件的原理图.3D模型还有价格厂家,但是不一定都有,有了也不一定有其3D模型. ManufacturerPart Search 在设计工具中选择即用型 ...

  10. [一句话说iOS]dispatch如何造成死锁

    dispatch_sync执行了两件事:把代码块放入指定线程的任务队列中.堵塞当前线程直到代码块执行结束,如果出现了堵塞的线程和代码块所在的线程为同一线程的话,这个时候代码无法在此线程执行继续下去,即 ...