要求

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. grafan+cadvisor+prometheus监控docker

    grafan+cadvisor+prometheus监控docker: 运行cadvisor: docker run \ --volume=/:/rootfs:ro \ --volume=/var/r ...

  2. Dijkstra(迪杰斯特拉)算法

    Dijkstra是什么算法 Dijkstra是典型最短路径算法,用于计算一个节点到其他节点的最短路径.该算法使用的是贪心策略:每次都找出剩余顶点中与源点距离最近的一个顶点. 什么是最短路径问题  给定 ...

  3. 7.26考试总结(NOIP模拟24)[matrix·block·graph]

    你那无聊的幻想,就由我来打破! 前言 补坑中.. 我都不知道自己这场模拟赛怎么打的了. 非常玄学,前三个小时一直在想正解,然后最后 20min 感觉 T1 不太稳,就又加上了一个暴力. 后来一看只有最 ...

  4. 【论文笔记】AlexNet

    [深度学习]总目录 由于受到计算机性能的影响,虽然LeNet在图像分类中取得了较好的成绩,但是并没有引起很多的关注. 直到2012年,Alex等人提出的AlexNet网络在ImageNet大赛上以远超 ...

  5. 记录nodejs做编辑和新增时候对数据库的操作

    server.js文件 const dao = require("../dao/user.dao"); saveDat是个对象自己处理一下 if (updataFlag) {//编 ...

  6. 面向对象编程 es5和es6的构造函数

     /*         面向对象编程                          本质 创建一个对象                  可以用 属性属性值的 方式 存储 数据参数         ...

  7. GO语言 GOLANG 上传微信电子小票图片

    GO语言 GOLANG 上传微信电子小票图片.GO HTTP POST 图片文件.GO 上传图片文件.multipart/form-data.image/jpeg.image/png. GO 环境: ...

  8. 从零开始写 Docker(十八)---容器网络实现(下):为容器插上”网线“

    本文为从零开始写 Docker 系列第十八篇,利用 linux 下的 Veth.Bridge.iptables 等等相关技术,构建容器网络模型,为容器插上"网线". 完整代码见:h ...

  9. scrapy爬取知名问答网站

    scrapy爬取知名问答网站 分析及数据表设计 itemloader方式提取question spider爬虫逻辑的实现以及answer的提取 保存数据到mysql中

  10. 使用nc进行tcp测速

    # server nc -l IP PORT > /dev/null eg: nc -l 192.168.144.1 8080 > /dev/null # client bs单位块大小 c ...