services-day04

Linux容器基础(rhce备考了解)

容器介绍

容器是什么?

	—— 现实中的容器是用来装东西的
  • Linux里面的容器是用来干什么的?
    • Linux中的容器是装应用的
    • 容器就是将软件打包程标准化单元,用于开发、交付和部署
    • 容器技术已经成为应用程序封装和交付的核心技术

容器的优缺点

优点:
—— 相比于传统的虚拟化技术,容器更加简洁高效
—— 传统虚拟机需要给每个VM安装操作系统
—— 容器使用的共享公共库和程序
•镜像是启动容器的核心,镜像由镜像仓库提供
•在podman中容器是基于镜像启动的
缺点:
—— 容器的隔离性没有虚拟化强
—— 共用Linux 内核,安全性有先天缺陷

podman是什么?

—— podman是完整的一套容器管理系统
—— podman提供类一组命令,让用户更加方便直接地使用容器技术,而不需要过多关心底层内核技术

podman安装

安装条件

	-	需要64位操作系统
	-	至少RHEL8以上的版本
	-	关闭firewalld防火墙与关闭SELinux(不是必须)
    [root@rq ~]# vim   /etc/selinux/config
    SELINUX=disabled
    设置虚拟机的防火墙
    [root@rq ~]#  yum  -y  remove   firewalld

podman安装

  • podman 所需软件
    • 系统软件,位于光盘镜像源中
    • 利用系统光盘,构建Yum仓库
#准备好镜像文件
	[student@server1 ~]$ scp -r  /linux-soft/s1/img.tar.xz  root@192.168.88.4:/root 
#模块化安装:类似于安装一组软件包
    [root@rq ~]# yum -y module install   container-tools
    [root@rq ~]# podman  --help  #查看podman帮助信息
  #  关机拍摄快照:容器安装完成

Linux容器管理

镜像仓库

什么是镜像

在这里插入图片描述

镜像管理

  • 镜像的名称和标签

    方式一:每一个镜像都对应唯一的镜像 id

    方式二:镜像名称(姓氏) + 标签(名字) = 唯一

    ——每一个镜像都有标签,如果没写就是默认标签 latest

    ——我们在调用镜像的时候,如果没有指定标签也是 latest
    容器使用镜像启动

  • 查找镜像(需要能访问互联网)

    podman search 关键字
    podman search httpd

  • 下载镜像(需要能访问互联网,可以从官方镜像仓库(docker.ioquay.io)下载,也可以自己制作)

    podman pull 镜像名称:标签
    podman pull localhost/myos:latest

  • 导入镜像

    podman load -i 备份文件.tar.gz
    podman load -i /root/httpd.tar.gz

#镜像管理练习
    ]# podman     images        #查看当前有哪些镜像
    ]# podman  load   -i   /root/img.tar.xz     #导入镜像
    ]# podman   images          #查看当前有哪些镜像
#镜像删除练习01
    ]# podman  images           #查看当前有哪些镜像
    ]# podman   rmi   60        #按照镜像的ID值,删除镜像
    ]# podman  images           #查看当前有哪些镜像
    ]# podman load  -i   /root/img.tar.xz            #导入镜像
    ]# podman  images           #查看当前有哪些镜像
#镜像删除练习02
    ]# podman   images       #查看当前系统可以使用的镜像
    ]# podman   rmi    localhost/rockylinux:8.6    #删除镜像
    ]# podman   images
    ]# podman load  -i   /root/img.tar.xz            #导入镜像
    ]# podman   images

容器管理

  • podman run 命令
    –podman run -选项 镜像名称:镜像标签 启动命令

      •查看 run 的选项
      –podman help run
      –man podman-run
      •run = 创建 + 启动 + 进入 三合一的操作
    
  • podman run 命令的选项

      –选项 -i,交互式方式
      –选项 -t,终端
      –选项 -d,后台运行
      –选项 --name 容器名字
    

    启动容器,并进入容器

      podman run -it myos:latest /bin/bash
      •可以通过命令行提示符,判定自己是否进入容器了
    

容器管理命令

	•启动容器
	–podman run –选项 镜像名称:镜像标签 启动命令		
	•查看容器
	–podman ps [ -a 所有容器id ] [ -q 只显示容器 id ]
	•删除容器
	–podman rm 容器id
	•容器管理命令启动、停止、重启
	–podman start|stop|restart 容器id
	•进入容器
	–podman exec -it 容器id 启动命令
#容器初步练习
    ]# podman  run  --name abc01 -it  localhost/rockylinux:8.6   /bin/bash
    [root@2b0b7c62ab42 /]# cat   /etc/redhat-release
    [root@2b0b7c62ab42 /]# useradd dc
    [root@2b0b7c62ab42 /]# id  dc
    [root@2b0b7c62ab42 /]# exit            #退出容器
    [root@rq ~]# podman  ps   -a     #查看当前系统容器
    [root@rq ~]# podman  start   abc01     #启动容器
    [root@rq ~]# podman  exec  -it  abc01  /bin/bash   #进入容器
    [root@2b0b7c62ab42 /]# id  dc
    [root@2b0b7c62ab42 /]# exit            #退出容器
    [root@rq ~]# podman  rm  -f   abc01    #强制删除容器abc01

#容器放入后台练习
    ]# podman  rm  -f  abc01     #强制删除容器abc01
    ]# podman run --name  abc01  -itd  localhost/rockylinux:8.6 
    ]# podman  ps  -a        #查看当前系统有哪些容器
    ]# podman  exec   -it  abc01    /bin/bash   #进入abc01容器
    [root@962aa837e17b /]# useradd  tc
    [root@962aa837e17b /]# id tc     
    [root@962aa837e17b /]# exit        
    ]# podman  ps  -a      #查看当前系统有哪些容器
    ]# podman  exec   -it    abc01   /bin/bash #进入abc01容器
    [root@962aa837e17b /]# id tc
    [root@962aa837e17b /]# exit
    ]# podman  ps  -a             #查看当前系统有哪些容器
    ]# podman  rm  -f  abc01     #强制删除容器abc01

podman命令行

podman镜像管理

镜像管理命令

在这里插入图片描述

podman 容器管理

容器管理命令

在这里插入图片描述
在这里插入图片描述

管理容器进阶

对外发布容器服务

怎么访问podman服务

在这里插入图片描述

发布podman服务

•容器可以与宿主机的端口进行绑定
•从而把宿主机变成对应的服务,不用关心容器的IP地址
•我们使用 -p 参数把容器端口和宿主机端口绑定
•同一宿主机端口只能绑定一个容器服务
•-p [可选IP]:宿主机端口:容器端口
•例如:把宿主机变成 apache
podman run -itd -p 80:80 myos:httpd
•例如:把宿主机变成 nginx
podman run -itd -p 80:80 myos:nginx

在这里插入图片描述

容器放入后台,端口绑定练习

    ]# podman  run  --name  nsdweb   -p   80:80     -itd   localhost/httpd:latest    
    [root@rq ~]# podman  ps  -a
    [root@rq ~]# podman  exec  -it  nsdweb  /bin/bash
    [root@5b69bf6956b0 html]# echo wo shi nsdweb > /var/www/html/index.html 
    [root@5b69bf6956b0 html]# exit
    exit
    [root@rq ~]# curl   192.168.88.4
    wo shi nsdweb
    [root@rq ~]#

容器共享卷

卷的用途

在这里插入图片描述

主机卷的映射

在这里插入图片描述
容器终极练习

    ]# podman   rm   -f    nsdweb       #强制删除容器
    ]# mkdir    /webroot
    ]# echo wo  shi  niuniu   >    /webroot/index.html
    ]# podman run   --name  nsdweb    -p 80:80                                    -v  /webroot:/var/www/html   -itd  localhost/httpd:latest 
    [root@rq ~]# curl   192.168.88.4          
    wo shi niuniu             

管理系统服务(了解)

systemd

• systemd一个更高效的系统&服务管理器

– 开机服务并行启动,各系统服务间的精确依赖

– 服务目录:/usr/lib/systemd/system/

– 主要管理工具:systemctl

手动方式:

podman start nsdweb #启动容器

podman stop nsdweb #停止容器

systemd方式:

systemctl start nsdweb #启动容器

systemctl stop nsdweb #停止容器

systemd管理方式思路:

用户–systemctl–》systemd–服务启动配置文件–》容器启动

管理员管理容器服务

•管理员服务文件默认路径

–/usr/lib/systemd/system/

•生成服务启动配置文件

–files:生成文件类型

podman generate systemd --name 容器名 --files

•重新加载服务启动配置文件

systemctl daemon-reload
容器之光练习(必须是相对路径,当前路径必须是/usr/lib/systemd/system,容器必须正在运行)

    ]# cd   /usr/lib/systemd/system   
    ]# podman   ps   -a
    ]# podman  generate   systemd   --name   nsdweb   --files
    ]# vim   container-nsdweb.service  #大致浏览一遍
    ]# systemctl   daemon-reload     #重新加载服务配置文件
    ]# systemctl   daemon-reload
    ]# podman   stop    nsdweb     #手动停止       
    ]# podman   ps    -a
    ]# systemctl  start   container-nsdweb  #测试systemd方式
    ]# podman   ps  -a
    ]# systemctl   enable   container-nsdweb     #设置开机自启
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值