DockerPodman容器“扫盲“学习笔记

你拥有青春的时候,就要感受它,不要虚掷你的黄金时代,不要去倾听枯燥乏味的东西,不要设法挽留无望的失败,不要把你的生命献给无知,平庸和低俗。------王尔德

Docker是完整的一套容器管理系统,所以想要搞懂Docker的概念,我们必须先从容器开始说起。什么是容器?

容器技术的核心,由以下几个内核技术组成:

作,都不会对真实机造成影响。

容的;例如:在linux系统上,创建一个虚拟机,在真机的/var/lib/ftp中挂载了一个光盘文件,但是在虚拟机的/var/lib/ftp中是没有光盘内容的,这就是MOUNT隔离;

作用于容器;

[root@liruilong~]#systemctldaemon-reload[root@liruilong~]#systemctlrestartdocker三、获取镜像镜像、容器、仓库什么是镜像镜像是启动容器的核心,在Docker中容器是基于镜像启动的,镜像采用分层设计,使用COW技术

镜像可以从官方镜像仓库下载,也可以自己制作

[root@kube-node1~]$dockersavedocker.io/busybox:latest-o/root/busybox.tar[root@kube-node1~]$scp/root/busybox.tar192.168.1.22:/root/恢复镜像(导入镜像)dockerload-i备份文件名称dockerload-ibusybox.tar四、第一个容器运行容器dockerrun命令dockerrun-参数镜像名称:镜像标签启动命令+run=创建+启动+进入,dockerrun命令:运行过程中,会先根据镜像来创建容器,然后会启动容器,最后进入容器

与CMD不同的是,由ENTRYPOINT启动的程序不会被dockerrun命令行指定的参数所覆盖,而且,这些命令行参数会被当作参数传递给ENTRYPOINT指定的程序。不过,dockerrun命令的--entrypoint选项的参数可覆盖ENTRYPOINT指令指定的程序

配置yum、安装软件

FROMdocker.io/centos:latestRUNrm-f/etc/yum.repos.d/*COPYlocal.repo/etc/yum.repos.d/local.repoRUNyuminstall-ybash-completionnet-toolsiproutepsmisc创建镜像使用Dockerfile工作流程,根据Dockerfile生成新的镜像,build创建新的镜像;-t指定新镜像的名字和标签;.指定Dockerfile文件所在的目录

docker主机修改配置文件/etc/sysconfig/docker

重启docker服务systemctlrestartdocker

Docker容器不保持任何数据,重要数据请使用外部卷存储(数据持久化),容器可以挂在真实机目录或共享存储为卷

将真实机目录挂载到容器中提供持久化存储,目录不存在就自动创建,目录存在就直接覆盖掉,多个容器可以映射同一个目录,来达到数据共享的目的启动容器时,使用-v参数映射卷dockerrun-it-v真实目录:容器内目录docker.io/centos:latest

默认容器可以访问宿主机,但外部网络的主机不可以访问容器内的资源,解决这个问题的最佳方法是端口绑定,容器可以与宿主机的端口进行绑定,从而把宿主机变成对应的服务。宿主机和容器内部的服务端口绑定以后,用户在访问宿主机的服务端口时,就是在访问容器内部的服务

dockerrun-itd-p80:80docker.io/nginx:latestPodman(podmanager):是一个功能齐全的容器引擎,它是一个简单的无需守护的用来管理镜像、容器的工具。Podman提供了一个与DockerCLI兼容的操作方式,简单地说:aliasdocker=podman。大多数Podman命令都可以普通用户运行,而无需其他额外的权限。图片

指的是针对应用所需的运行环境资源(依赖库/目录/网络/用户……等)进行整体封装的技术。封装好的镜像相比虚拟机的粒度要更细,可移植性强。每个容器采用沙箱机制,相互隔离。

仓库=》镜像=》容器的关系:

图片

#yummoduleinstall-ycontainer-tools//安装容器工具及其模块配置#yuminstall-ypodman-docker//安装docker兼容包(可选)二、访问仓库1)设置默认的仓库地址(全局配置)可以使用官方仓库(比如registry.access.redhat.com)、第三方仓库(比如docker.io),或者私有仓库(比如registry.lab.example.com)。

#podmanloginregistry.lab.example.comUsername:adminPassword:***********LoginSucceeded!3)搜索仓库中的镜像(比如nginx)

#podmansearchnginxINDEXNAMEDESCRIPTIONSTARSOFFICIALAUTOMATEDexample.comregistry.lab.example.com/library/nginx三、管理镜像1)下载镜像到本地

#podmanpullregistry.lab.example.com/library/nginx....//容器存储默认工作目录/var/lib/containers/2)查看镜像

#podmanimages//列出本地镜像REPOSITORYTAGIMAGEIDCREATEDSIZEregistry.lab.example.com/nginxlatest4bb46517cac33monthsago137MB#podmanimageinspect4bb4//查看xxxx镜像的详细配置信息....3)导出/备份镜像

#podmansavenginx>/root/nginx.tar4)导入镜像

#podmanload-i/root/nginx.tarnginx-new:latest5)删除镜像

[root@redsystem]#systemctlenablecontainer-mywebCreatedsymlink/etc/systemd/system/multi-user.target.wants/container-myweb.service→/etc/systemd/system/container-myweb.service.5)关闭当前运行的容器

[root@redsystem]#podmanstop52e652e6996bef86c501731115216c84a2f48d1a03f8c1a2cad70d27e281bd642b186)重启主机后,检查是否可以访问此web

可参考mancontainers-registries.conf手册,如果已经在/etc/containers/registries.conf文件全局设置过,这里可以不做。

THE END
1.openwrt挂载硬盘报错控制设备在编译[openwrt](https://wenku.csdn.net/doc/6461cd585928463033b33a41?spm=1055.2569.3001.10083) 18.06时,您遇到了挂载硬盘报错的问题。根据引用[2]中的信息,您可以尝试以下步骤解决该问题: 1. 首先,您可以使用命令`fdisk -l`查看磁盘信息,确认硬盘是否被正确识别。 2. 然后,您可以使用`mount`命令将硬盘挂载https://liebiancat.cn/post/909.html
2.虚拟机扩容一、创建分区 fdisk/dev/sda 按m查看帮助 按n创建新分区 按p扩展分区 按3(因为前面已经有2个了) 大小回车默认 最后按w保存退出。 重启系统。 二、挂载分区 格式化 mkfs -t ext3 /dev/sda3 转换物理卷 lvs pvcreate /dev/sda3 查看lvm名称 vgdisplay https://blog.csdn.net/DshadowD/article/details/144390909
3.DG常见问题及解决方法问题3:通过rman备份,restore数据文件由于种种原因失败(比如空间不足),部分数据文件没有restore出来。 解决办法:清理空间,重新restore database,数据库会restore还未恢复出来的文件。不需要重新做过 问题4:搭建rac-rac的dg时,发现备库只能接收到一节点的归档,接收不到二节点的归档 https://blog.itpub.net/70013625/viewspace-3056368/
4.mysql开启二进制日志mysql存储二进制文件--all-databases: 备份所有库 --databases db1 db2 : 备份指定的多个库,如果使用此命令,恢复时5.挂载快照卷并备份 6.备份完成之后,删除快照卷 恢复: 1.二进制日志保存好; 提取备份之后的所有事件如下面的命令:实际上就是把未完成的事务提交,准备工作需要在还原之前才执行,在这之前都能执行准备https://blog.51cto.com/u_16213637/10953728
5.ubuntu挂载windows分区uuid知识修改卷标名称songbei6新驱动程序的挂载选项: 你需要开辟一块空间来挂载NTFS卷,然后就可以进行挂载操作了。 mkdir /mnt/windows NLS(本地语言支持)决定字符是如何被显示的。你可以选择像Unicode一样可以表示所有字符的utf8,或者你自己的代码页,比如iso8859-1(西欧)、iso8859-2(中欧)、gb2312(简体中文)、iso8859-8(希伯来文)。nls=gbhttp://blog.chinaunix.net/uid-11647316-id-2857818.html
6.mount中文手册未分类在挂载后输出文件系统的卷标签。mount 必须有读取磁盘设备的权限。 -n, --no-mtab 不将挂载信息写入 /etc/mtab ,当此 /etc 位于只读文件系统上的时候,通常就需要使用它。 -c, --no-canonicalize 不对路径(path)进行规范化。 mount 默认会将所有来自命令行和 fstab 的路径进行规范化之后再写入 /etc/mtab https://www.wenjiangs.com/uncategorized/mount.html
7.SuperAgent管理注意:下发数据摄入任务前,请务必确认所需执行器已成功部署至目标主机或目标Kubernetes集群,否则数据摄入任务将无法执行!您也可以先行配置任务参数,待部署完成后再下发此任务。 4.获取数据上报地址(仅针对数据接收任务):成功创建数据接收任务后,返回至SuperAgent数据摄入任务管理列表,即可查看数据发送端所需的数据上报地址https://docs.aishu.cn/help/anyrobot-family-5/superagent-guan-li_49252
8.>第6章管理OracleSolarisZFS文件系统rename操作会尝试对文件系统以及任何后代文件系统按顺序执行取消挂载/重新挂载操作。如果该操作无法取消挂载活动文件系统,则rename命令将失败。发生这种问题时,必须强行取消挂载该文件系统。 有关重命名快照的信息,请参见重命名 ZFS 快照。 ZFS 属性介绍 属性是用来对文件系统、卷、快照和克隆的行为进行控制的主要机制。https://docs.oracle.com/cd/E19253-01/819-7065/gavwq/index.html
9.创建卷在连接路径中,输入文件系统中用于挂载此卷的位置。该名称必须包含一个前导正斜杠,例如 /vol3。 要提高存储效率,请选择 “启用” 以启用此卷上的ONTAP存储效率功能(重复数据删除、压缩和压缩)。有关更多信息,请参阅 存储效率。 对于卷安全类型,请在Unix (Linux) 和“混合” 之间进行选择。NTFS有关更多信息,请https://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/creating-volumes.html
10.配置和管理逻辑卷RedHatProductDocumentation逻辑卷管理器(LVM)是一种存储虚拟化软件,旨在增强物理存储设备的管理和灵活性。通过抽象物理硬件,LVM 允许您动态创建、调整大小和删除虚拟存储设备。在这个框架中,物理卷(PV)代表分组在一起的原始存储设备,以组成卷组(VG)。在此 VG 中,LVM 分配空间来创建逻辑卷(LV)。LV 是文件系统、数据库或应用程https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/8/html-single/configuring_and_managing_logical_volumes/index
11.中国的十次国运由于沙俄垮台,沙俄这部分也免于赔付。俄国、德奥占《辛丑条约》赔款比重50%,如此一来中国赔款压力大大下降。再加上此前美国退还的部分庚子赔款(这部分钱用于创办留美预备学校,也就是清华大学),中国实际支付的辛丑赔款仅为原本设定的一半。 虽然巴黎和会上山东权益被日本窃取,但这一问题在1921年的华盛顿会议上得到https://www.meipian.cn/4zlwjqm9
12.如果,歼35战斗机挂载四枚折叠弹翼的霹雳如果,歼-35战斗机挂载四枚折叠弹翼的霹雳-15和两枚霹雳-11AE红外制导中距弹: 1、那空空弹药携带量与歼-20此前公开展示的隐身构型挂载弹药量一样,2红外+2主动雷达。霹雳-11AE应该是采用了红外成像制导,如果有https://weibo.com/2694995107/P4lUDeBRG
13..NETCore3.0正式公布:新特性详细解读对于依赖框架的应用程序而言,这是一项前所未有的新功能。在此之前,只有独立应用程序具有可执行文件。这些新的可执行文件,将在效果上与此前的原生可执行文件编写能够轻松实现容器化的 .NET Core 应用程序/库构建逻辑。 以下为容器化 build(存储卷挂载)的 PowerShell 启动语法示例:https://www.infoq.cn/article/1eM2A9mfINflb58qa9gs
14.计算资源管理华为云Stack8.2.1运维指南04创建弹性云服务器前,需要在Service OM上创建弹性云服务器的规格。规格对应弹性云服务器创建界面上“vCPU”、“内存”、“云服务器类型”和“规格名称”等。结合主机组,可以满足不同性能要求,也可以规范系统中计算实例的资源使用。 操作步骤 不同类型的云服务器的规格名称及推荐的vCPU、内存配比,Region Type I请参见https://support.huawei.com/enterprise/zh/doc/EDOC1100296027/4b6b88e3