目录

一 容器技术简介

1.1容器定义

1.2 容器与虚拟机

1.3 容器特性

1.4 容器核心技术

1.5 Podman 下一代容器

二 配置部署Podman容器

2.1 安装容器相关软件

2.1.1 安装容器相关软件container-tools

2.1.2 配置容器注册表以及镜像加速

2.1.3 登录容器注册表服务器

2.2 镜像使用

2.2.1 搜索镜像

2.2.2 下载拉取镜像

2.2.3 查看镜像

​编辑 2.2.4 查看镜像的详细信息

2.3.1 创建容器

2.3.2 查看容器

2.3.3 运行容器

2.3.4 基于容器运行系统命令

2.3.5 停止和删除容器


一 容器技术简介

1.1容器定义

容器技术的兴起源于PaaS技术的普及,PaaS(平台即服务,把服务器平台作为一种服务提供的商业模式,通过网络进行程序提供服务),简单来说,比如我想部署webserver、mysql、sqlserver等,直接部署会耗费大量的时间和资源,但是利用容器技术直接拉取镜像进行部署,更能快速的搭建部署自己的应用平台。容器提供一个轻型隔离环境,使应用更易于开发、部署和管理 。

容器可以快速的启动和停止,因此适用于快速适应不断变化的需求的应用。容器的轻型性质使得他们成为一种有用的工具,可以提供基础结构的密度和利用率。

1.2 容器与虚拟机

在这里,我不曾又想到了虚拟机,虚拟机是一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用,早期,这样可以最大程度上提供虚拟化管理的灵活性。各种操作系统的虚拟机都能通过虚拟化的方式来部署、允许、终止。但是,随着时间的推移,每个虚拟机都要允许一个完整的操作系统以及其中安装好的大量应用程序,但是在实际开发环境中,我们更关注自己部署的应用程序,如果我们每次部署都要搞一个完整的操作系统和附带的依赖环境,那么这个任务和性能会很低下。

基于上述情况,人们就在想,有没有其他什么方式能让人更加的关注应用程序本身,底层多余的操作系统和环境我可以共享和复用?换句话来说,那就是我部署一个服务运行好后,我再想移植到另外一个地方,我可以不用再安装一套操作系统和依赖环境。这就像集装箱运载一样,我把货物一辆兰博基尼跑车(好比开发好的应用APP),打包放到一容器集装箱里,它通过货轮可以轻而易举的从上海码头(CentOS7.2环境)运送到纽约码头(Ubuntu14.04环境)。而且运输期间,我的兰博基尼(APP)没有受到任何的损坏(文件没有丢失),在另外一个码头卸货后,依然可以完美风骚的赛跑(启动正常)。所以容器技术又被称为集装箱技术。

//这里引用了一下一个大哥的博客,他写的太好了,更多有关容器的技术大家可以关注顺其自然的博客容器技术详解

1.3 容器特性

  • 容器的可移植性好,可以容易的从一个环境转移到另一个环境
  • 可以保存容器的多个版本,根据需要快速访问某个版本
  • 容器通常是临时的,可将容器生成的数据永久保存
  • 容器通常是在需要时允许,不允许的时候可以关掉

1.4 容器核心技术

  • 隔离技术

就像集装箱一样,一个个应用程序(容器)之间存在边界,容器只是允许在宿主机上的一种特殊的进程,每个容器之间使用的是同一个宿主机的操作系统内核。比如我有一个http的镜像,我进去http容器后,就是http的进程文件。

  • 限制技术

通过cgroups技术,是用来制造约束的主要手段,cgroups能限制一个进程组能够使用的资源上限、包括cpu、内存、磁盘、网络带宽等等。

通过mount -t cgroups命令可以查看什么允许什么进程能使用什么资源

1.5 Podman 下一代容器

docker因为种种原因,不太行了,然后引进一个替代产品:Podman,podman是一个用于处理容器的开源linux工具,是一个无守护进程容器引擎,也意味着可以脱离docker daemon,不需要执行systemctl start docker。

包含podman、skopeo等一整天管理工具。如下:

  • Podman:Pod和容器镜像管理器,之间管理容器和容器镜像
  • Buildah:容器镜像生成器,可以创建新的容器镜像
  • Skopeo:容器镜像检查管理器,可以使用他检查、复制、删除和签名imag
  • Runc:容器运行器和特性构建器,并传递给Podman和Buildah
  • Crun:可选运行时,为Rootless容器提供更大的灵活性、控制和安全性

值得可喜的是,podman的大部分命令和docker比较类似,山东科技大学大学网络工程专业大三上学期有节课叫云与虚拟化,是专门来讲docker的。

二 配置部署Podman容器

2.1 安装容器相关软件

接下来说正事:

2.1.1 安装容器相关软件container-tools

开启lab环境,进行初始化,这个workstation就可以理解为容器仓库

安装containers-tools

yum-y module install container.lab

可通过podman -v检查podman版本号,1.9.3才是正确的

2.1.2 配置容器注册表以及镜像加速

安装完containers-tools后,需要配件镜像加速器,使Podman默认源由红帽的镜像源优先从国内的docker.io源

注释掉31行内容

将35行的dicker.io移到最前面,这样就优先选择docker.io

2.1.3 登录容器注册表服务器

我们随便建一个用户,是登录不进去podman的

root用户的家目录里有这些东西

再看看student,也这些东西

所以,这些东西才是你能登录进podman的关键,为什么root和student有呢,因为初始化的时候添加的,具体如图所示:

将.config/containers/registries.conf拷贝到lmy的家目录下面

cp .config/containers/registries.conf   /home/lmy/.config/containers

检查:

登录:

lmy用户登录podman成功 !!

2.2 镜像使用

2.2.1 搜索镜像

搜索nginx镜像

podman search nginx

搜索整个容器注册表注册服务由哪些镜像

podman search registry.lab。example.com

2.2.2 下载拉取镜像

podman pull 镜像名

2.2.3 查看镜像

podman images

 2.2.4 查看镜像的详细信息

podman inspect 镜像名字

删除镜像

podman rmi 镜像名

2.3 容器管理和使用

2.3.1 创建容器

podman create -d --name 容器名称 -v 主机目录:虚拟目录:Z 镜像名称

-d 后天运行

-v 将主机的目录映射到容器指定目录

:Z 将容器目录映射到主机

2.3.2 查看容器

仅仅将容器创建,但是还没有运行

通过podman ps,没有显示

podman ps-a 也只显示create状态

对应creat创建的容器,可以通过podmna start 容器名字进行开启运行

可通过podman exec -it 容器名称 /bin/bash

进入这个容器的交互式界面

查看/var/log/journal下面有没有和主机映射的文件,当然有

2.3.3 运行容器

也可以通过podman run -d -name 容器名称

进行创建容器,这样做能结合拉取镜像,创建容器,运行容器

将本机的8081端口映射到容器的8080端口

查看本机8081端口已经开启,listen状态

2.3.4 基于容器运行系统命令

交互式进入bash工作环境中执行命令

执行在/var/www/html/index.html文件里输入“hello vrlab”

直接通过执行命令的方式

2.3.5 停止和删除容器

podman stop 容器名

podman rm 容器名

新一代容器技术———Podman相关推荐

  1. 面向容器技术资源调度关键技术深度对比

    导读:之前发布了云平台技术栈(ps:点击可查看),本文主要说一下其中的容器调度技术! 作者:阿里中间件,公众号:云栖社区 本文以资源分配理念:拍卖.预算.抢占出发,引出Borg.Omega.Mesos ...

  2. 以 Kubernetes 为代表的容器技术,已成为云计算的新界面

    来源 | 阿里巴巴云原生公众号 作者 | 志敏.智清 2020 年 双11,阿里核心系统实现了全面云原生化,扛住了史上最大流量洪峰,向业界传达出了"云原生正在大规模落地"的信号.这 ...

  3. 云计算的新界面—Kubernetes容器技术

    简介:可以说,以 Kubernetes 为代表的容器技术正成为云计算新界面.容器提供了应用分发和交付标准,将应用与底层运行环境进行解耦.Kubernetes 作为资源调度和编排的标准,屏蔽底层架构差异 ...

  4. 直击阿里新一代数据库技术:如何实现极致弹性能力?

    阿里妹导读:张瑞,阿里巴巴研究员,阿里集团数据库技术团队负责人,经历阿里数据库技术变革历程,连续六年作为数据库总负责人参与双11备战工作.今天,我们邀请他来分享新一代数据库技术在双11中的应用. 阿里 ...

  5. 新一代数据库技术在双11中的黑科技

    摘要: 12月13-14日,由云栖社区与阿里巴巴技术协会共同主办的<2017阿里巴巴双11技术十二讲>顺利结束,集中为大家分享了2017双11背后的黑科技.本文是<新一代数据库技术在 ...

  6. 【不吹不黑】详解容器技术架构、网络和生态

    戳蓝字"CSDN云计算"关注我们哦! 作者 |  Hardy 责编 | 阿秃 谈起容器技术,不得不提Docker技术.Docker 是PaaS 提供商 DotCloud 开源的一个 ...

  7. 麒麟V10SP1高级服务器版本操作系统离线安装docker容器技术

    麒麟V10SP1操作系统离线安装docker容器技术 在某些生产环境迁移过程中,往往需要离线安装软件.生产环境服务器是不能连接互联网的. 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V ...

  8. 容器技术在企业落地的最佳实践

    作者 | 易立  阿里云资深技术专家 导读:近年来,容器技术及相关应用得到了国内外越来越多的关注度.在国外,容器技术已经形成了较成熟的生态圈:而在国内,金融企业.互联网企业.IT 企业积极投入容器技术 ...

  9. 【云原生之企业级容器技术 Docker实战一】Docker 介绍

    目录 一.Docker 介绍 1.1 容器历史 1.2 Docker 是什么 1.3 Docker 和虚拟机,物理主机 1.4 Docker 的组成 1.5 Namespace 1.6 Control ...

最新文章

  1. python列表可以混合类型_如何在Python中将混合数据类型的列表转换为数据帧
  2. Bada学习-Privileged API
  3. Python的列表推导式
  4. 设计模式原则篇:(1)单一职责原则--Single Responsibility Principle
  5. 洗被套的时候洗衣机里面不要再放其他东西
  6. python入口函数的作用_python之函数中参数的作用域
  7. php对接钉钉_php实现钉钉业务报警机器人
  8. centos7.5 安装配置supervisor管理python进程(也就是服务)
  9. assembly 输出ab中所有数_罗克韦尔(AB)PLC控制器选型(2)-CompactLogix 5370
  10. 微信新版隐藏的野心!
  11. emu8086 寻址方式
  12. 学机器学习怎么可以不知道最小二乘法
  13. 烧洋芋、苞谷、饵块和昭通酱
  14. Java学习—初入Java
  15. AWS云上基础服务体验课程
  16. 将自己训练的MASK-RCNN模型用于摄像头实时检测
  17. 使用Java统计英文文章的单词频率。
  18. Java方法excel文件转换成xml文件
  19. nginx匹配多个路径转发到同一个地址写法
  20. 计算鬼成像学习笔记二:二阶关联函数探究

热门文章

  1. 计算机作业微波炉工作的原理,微波炉工作电路原理图及功能图解
  2. 锦鲤信小呆翻车!一手好牌打得稀烂背后:靠运气赚来的,终究会凭实力亏掉...
  3. Speedoffice(PPT)如何设置文字顶部对齐
  4. 梦幻新开服务器维护,《梦幻西游2》6月新开服务器公告
  5. java web 打印 Cl0dup
  6. 遥感图像变化检测数据集
  7. 374. 导弹防御塔
  8. Linux安全之PHP木马查杀与防范
  9. 计算机毕业设计java+ssm酒店管理系统(源码+系统+mysql数据库+Lw文档)
  10. 分分钟解决OSPF配置问题