Linux运行基本容器

安装容器管理工具

在系统上运行和管理容器前,必须先安装必要的命令行工具。

使用yum命令安装container-tools模块。

yum module install container-tools

container-tools模块包括安装多个工具的软件包,包括运行容器所需的podman和skopeo工具。

选择容器镜像和注册表

容器注册表是用于存储和检索容器镜像的存储库。开发人员将容器镜像上传或推送到容器注册表,从注册表中拉取容器镜像到本地系统,可用于运行容器。

红帽通过两个主容器分发认证容器镜像,使用登录凭据可访问这两个注册表。

  • registry.redhat.io : 适用于基于官方红帽产品的容器。

可以通过https://access.redhat.com/containers搜索注册表的认证内容。

容器命名约定

容器镜像基于以下完全限定镜像名称语法命名:

registry_name/user_name/image_name:tag

registry_name 存储镜像注册表的名称,通常是注册表的完全限定域名。

user_name 镜像所属的用户或组织。

image_name 用户命名空间中必须唯一。

tag 镜像版本,常用假定latest。

运行容器

在本地系统上运行容器前,必须先拉取容器镜像。使用Podman从注册表中拉取镜像,使用完全限定镜像名称。podman pull可以从注册表拉取指定的镜像保存在本地。

podman pull registry.access.redhat.com/ubi8/ubi:latest
podman images

podman将镜像存储在本地,podman images可以列出镜像。命令的输出显示标签、镜像ID等信息。

要从镜像运行容器,使用podman run命令,此命令将从容器镜像创建并启动新容器。-it选项与容器交互,为容器分配一个终端,允许键盘输入。

podman run -it registry.access.redhat.com/ubi8/ubi:latest
#-t相当于--tty,pseudo-tty伪终端将分配给容器
#-i与--interactive相同,接收标准输入
#-d或--detach,表示容器在后台运行,已分离

若使用完全限定镜像名称运行容器,但镜像尚未存储到本地,podman run命令将从注册表中拉取镜像,然后运行。

引用容器时podman识别容器名称或生成容器ID,可使用--name选项指定容器名称

podman run -it --name=rhel8 registry.access.redhat.com/ubi8/ubi /bin/bash
#此命令将在容器内启动bash终端,以交互式运行命令

若要在容器中快速运行命令,不与之交互,在命令完成后删除容器,可使用podman run --rm,后跟容器镜像和命令。

podman run --rm -it --name=rhel8 registry.access.redhat.com/ubi8/ubi\
 cat /etc/os-relese

分析容器隔离

容器提供资源的运行时隔离。利用Linux命令空间为资源(进程、网络通信和卷)提供独立的隔离环境,容器内运行的进程与主机上的所有其他进程相隔离。

可使用ps aux命令分别在容器和主机上运行,得到不同结果;并且在容器和主机上使用id命令查看的用户名的ID也不同。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值