目录
部署podman
安装podman
[root@node1 ~]# yum -y install podman
Last metadata expiration check: 8:06:25 ago on Sun 14 Aug 2022 11:58:39 AM CST.
Package podman-3.3.1-9.module_el8.5.0+988+b1f0b741.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
配置podman加速器
[root@node1 ~]# vim /etc/containers/registries.conf
[[registry]]
prefix = "docker.io"
location = "docker.mirrors.ustc.edu.cn"
podman的应用
拉取httpd镜像
[root@node1 ~]# podman pull httpd
Resolving "httpd" using unqualified-search registries (/etc/containers/registries.conf)
Trying to pull docker.io/library/httpd:latest...
Getting image source signatures
Copying blob dcc4698797c8 done
Copying blob d982c879c57e done
Copying blob a2abf6c4d29d done
Copying blob 67283bbdd4a0 done
Copying blob 41c22baa66ec done
Copying config dabbfbe0c5 done
Writing manifest to image destination
Storing signatures
dabbfbe0c57b6e5cd4bc089818d3f664acfad496dc741c9a501e72d15e803b34
列出镜像
[root@node1 ~]# podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/busybox latest beae173ccac6 7 months ago 1.46 MB
docker.io/library/httpd latest dabbfbe0c57b 7 months ago 148 MB
quay.io/centos/centos latest 300e315adb2f 20 months ago 217 MB
进入liu这个容器
[root@node1 ~]# podman attach liu
[root@3f094fbabd87 /]#
提交容器
[root@node1 ~]# podman commit -p liu
Getting image source signatures
Copying blob 2653d992f4ef skipped: already exists
Copying blob b7d2d260599a done
Copying config 6a01de1247 done
Writing manifest to image destination
Storing signatures
6a01de12470bb84beadd6402bfff55914dbe6efcd6e1cc4165ffb143d9f8c006
将本机的内容复制到容器中
[root@node1 ~]# podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b1958f65a72d docker.io/library/busybox:latest sh 2 minutes ago Up About a minute ago liu
af315e214ea2 docker.io/library/busybox:latest sh 14 seconds ago Up 13 seconds ago ly
[root@node1 ~]# ls
anaconda-ks.cfg html php-7.4.30.tar.xz remi-release-7.rpm wget-log
[root@node1 ~]# podman cp html/ af315e214ea2:/
/ # ls
bin dev etc home html proc root run sys tmp usr var
创建一个容器
[root@node1 ~]# podman create -it --name aaa busybox
cd32b04d381e8e8d44a8622558e376c1caf1b08fa037e5eab356102110262376
查看liu这个容器的历史动作
[root@node1 ~]# podman diff liu
C /etc
C /root
A /root/.ash_history
进入liu这个容器
[root@node1 ~]# podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b1958f65a72d docker.io/library/busybox:latest sh 8 minutes ago Up 8 minutes ago liu
af315e214ea2 docker.io/library/busybox:latest sh 6 minutes ago Up 6 minutes ago ly
[root@node1 ~]# podman exec -it b1958f65a72d /bin/sh
/ #
将ly这个容器导入到ly.tar这个归档中
[root@node1 ~]# podman export ly > ly.tar
为ly容器生成systemd单元文件
[root@node1 ~]# podman generate systemd --new --files --name ly
/root/container-ly.service
查看busybox镜像的历史动作
[root@node1 ~]# podman history busybox
ID CREATED CREATED BY SIZE COMMENT
beae173ccac6 7 months ago /bin/sh -c #(nop) CMD ["sh"] 0 B
<missing> 7 months ago /bin/sh -c #(nop) ADD file:6db446a57cbd2b7... 1.46 MB
列出所有镜像的两种方式、
[root@node1 ~]# podman image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/busybox latest beae173ccac6 7 months ago 1.46 MB
[root@node1 ~]# podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/busybox latest beae173ccac6 7 months ago 1.46 MB
导入ly.tar这个包
[root@node1 ~]# podman import ly.tar
Getting image source signatures
Copying blob e704a424c5b3 done
Copying config 5bfedc8d55 done
Writing manifest to image destination
Storing signatures
sha256:5bfedc8d55957ff77e15156876525ec7798172df4eeac7cc39c2a5f4300bfd0d
查看基本信息
[root@node1 ~]# podman info |head -4
host:
arch: amd64
buildahVersion: 1.22.3
cgroupControllers:
初始化aaa这个容器
[root@node1 ~]# podman init aaa
cd32b04d381e8e8d44a8622558e376c1caf1b08fa037e5eab356102110262376
查看aaa这个容器的详细信息
[root@node1 ~]# podman inspect aaa |head -8
[
{
"Id": "cd32b04d381e8e8d44a8622558e376c1caf1b08fa037e5eab356102110262376",
"Created": "2022-08-14T21:34:07.770011917+08:00",
"Path": "sh",
"Args": [
"sh"
],
杀死ly这个容器
[root@node1 ~]# podman kill ly
ly
登入容器仓库
[root@node1 ~]# podman login
Authenticating with existing credentials for docker.io
Existing credentials are valid. Already logged in to docker.io
登出容器仓库
//因为没有redhat账户所以登入不进去
[root@node1 ~]# podman logout
^C[root@node1 ~]# podman logout docker.io
Not logged into docker.io with current tool. Existing credentials were established via docker login. Please use docker logout instead.
查看ly这个容器的日志
[root@node1 ~]# podman logs ly
/ # ls
bin dev etc home html proc root run sys tmp usr var
查看网络模式
[root@node1 ~]# podman network ls
NETWORK ID NAME VERSION PLUGINS
2f259bab93aa podman 0.4.0 bridge,portmap,firewall,tuning
暂停liu这个容器的所有进程
[root@node1 ~]# podman pause liu
b1958f65a72d794bcb08f8222cd0e37ebff2b193e500a732688c1f77155bac69
查看正在运行的容器
[root@node1 ~]# docker ps
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
挂载这个容器的根文件系统
[root@node1 ~]# podman mount b1958f65a72d
/var/lib/containers/storage/overlay/6d53f7ea803906a9be31576721b4df21b948532d5ec821306a4e23cabca07c2b/merged
给容器重命名
[root@node1 ~]# podman ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b1958f65a72d docker.io/library/busybox:latest sh About an hour ago paused liu
af315e214ea2 docker.io/library/busybox:latest sh About an hour ago Exited (137) 37 minutes ago ly
cd32b04d381e docker.io/library/busybox:latest sh About an hour ago created aaa
[root@node1 ~]# podman rename ly LY
[root@node1 ~]# podman ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b1958f65a72d docker.io/library/busybox:latest sh About an hour ago paused liu
af315e214ea2 docker.io/library/busybox:latest sh About an hour ago Exited (137) 38 minutes ago LY
cd32b04d381e docker.io/library/busybox:latest sh About an hour ago created aaa
重启LY这个容器
[root@node1 ~]# podman restart LY
af315e214ea236bb0c143f32aa91fb270a83591deeaef6c42164a5bd022797d3
删除liu这个容器 -f强制删除
[root@node1 ~]# podman rm -f liu
b1958f65a72d794bcb08f8222cd0e37ebff2b193e500a732688c1f77155bac69
删除镜像
[root@node1 ~]# podman rmi -f beae173ccac6
Untagged: docker.io/library/busybox:latest
Deleted: beae173ccac6ad749f76713cf4440fe3d21d1043fe616dfbe30775815d1d0f6a
创建并启动一个容器
[root@node1 ~]# podman run --name lll -it httpd /bin/bash
Resolving "httpd" using unqualified-search registries (/etc/containers/registries.conf)
Trying to pull docker.io/library/httpd:latest...
Getting image source signatures
Copying blob 67283bbdd4a0 done
Copying blob d982c879c57e done
Copying blob dcc4698797c8 done
Copying blob a2abf6c4d29d done
Copying blob 41c22baa66ec done
Copying config dabbfbe0c5 done
Writing manifest to image destination
Storing signatures
root@16f20c12a43e:/usr/local/apache2#
将httpd镜像保存到lll这个tar包中
[root@node1 ~]# podman save httpd > lll.tar
搜索httpd镜像来自哪个仓库
[root@node1 ~]# podman search httpd
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/library/httpd The Apache HTTP Server Project 4116 [OK]
docker.io docker.io/clearlinux/httpd httpd HyperText Transfer Protocol (HTTP) ser... 2
docker.io docker.io/centos/httpd-24-centos7 Platform for running Apache httpd 2.4 or bui... 44
docker.io docker.io/manageiq/httpd Container with httpd, built on CentOS for Ma... 1 [OK]
启动lll这个容器
[root@node1 ~]# podman start lll
lll
暂停lll这个容器
[root@node1 ~]# podman stop lll
lll
查看系统的基本信息
[root@node1 ~]# podman system info
host:
arch: amd64
buildahVersion: 1.22.3
cgroupControllers:
- cpuset
给镜像定义名称
[root@node1 ~]# podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 5bfedc8d5595 About an hour ago 1.6 MB
docker.io/library/httpd latest dabbfbe0c57b 7 months ago 148 MB
[root@node1 ~]# podman tag 5bfedc8d5595 docker.io/library/httpd:1.1
[root@node1 ~]# podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/httpd 1.1 5bfedc8d5595 About an hour ago 1.6 MB
docker.io/library/httpd latest dabbfbe0c57b 7 months ago 148 MB
显示lll容器的运行进程
[root@node1 ~]# podman top lll
USER PID PPID %CPU ELAPSED TTY TIME COMMAND
root 1 0 0.000 12.005043792s pts/0 0s /bin/bash
卸载容器的根文件系统
[root@node1 ~]# podman unmount 16f20c12a43e
16f20c12a43e
重新暂停lll这个容器
[root@node1 ~]# podman unpause lll
16f20c12a43ec93c607da43c01719a668b6c37dce5d66aba085ea708521db3f1
删除镜像的名称
[root@node1 ~]# podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/httpd 1.1 5bfedc8d5595 About an hour ago 1.6 MB
docker.io/library/httpd latest dabbfbe0c57b 7 months ago 148 MB
[root@node1 ~]# podman untag 5bfedc8d5595
[root@node1 ~]# podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 5bfedc8d5595 About an hour ago 1.6 MB
docker.io/library/httpd latest dabbfbe0c57b 7 months ago 148 MB
显示podman版本号
[root@node1 ~]# podman version
Version: 3.3.1
API Version: 3.3.1
Go Version: go1.16.7
Built: Wed Nov 10 05:23:56 2021
OS/Arch: linux/amd64
查看卷
[root@node1 ~]# podman volume ls
[root@node1 ~]#
阻塞lll这个容器
[root@node1 ~]# podman wait lll
标签:ago,io,部署,podman,应用,node1,docker,root
From: https://www.cnblogs.com/TQingS/p/16586660.html