e-3Podman容器管理和Cockpit管理Podman

Posted 喝茶等下班

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了e-3Podman容器管理和Cockpit管理Podman相关的知识,希望对你有一定的参考价值。

1.

安装命令

dnf -y module install container-tools

2.

podman运行一个web容器,-d后台运行,-p端口 本机端口:容器端口

[root@xuegod23 ~]# podman run -d -p80:80 --name=xuegod-web01 httpd

3.

查看容器的所有端口映射信息

[root@xuegod23 ~]# podman port -a
377e740d142d 80/tcp -> 0.0.0.0:80

4.

进入容器中查看

[root@xuegod23 ~]# podman exec -it xuegod-web01 /bin/bash
root@377e740d142d:/usr/local/apache2# ls
bin build cgi-bin conf error htdocs icons include logs modules

5.

[root@xuegod63 ~]# podman rm -f 可删除正在运行容器

[root@xuegod63 ~]# podman rm -a 删除主机中所有停止运行的容器

6.

创建并配置主机目录之后,下一步是将该目录挂载到容器中。

podman run --volume | -v host_dir:container_dir

7.

通过 Z 选项,Podman 自动将 SELinux container_file_t context 应用到主机目录

podman run -d --name xuegodweb03 -v /opt:/usr/local/apache2/htdocs/:Z httpd

8.

创建 systemd 容器配置文件

[root@xuegod23 system]# podman generate systemd --name xuegod-service-web --files --new
/usr/lib/systemd/system/container-xuegod-service-web.service

generate 生成 --file 创建文件

--new 表示每次启动都会启动一个新的容器,停止容器时则删除容器,如果不加则一直使用一个容

器,根据需求选择。

ls /usr/lib/systemd/system/container-xuegod-service-web.service

9.

普通用户通过 systemd 管理容器

普通用户的方式运行容器(必须要能正常登录系统的用户)

以 cd用户登录或新建 xshell 连接登录到 xuegod63,必须是以 xuegod 用户直接登录到系统的 shell 终端,否则不能使用。


systemd 可以管理 user service,普通用户可以为自己的服务创建 unit 文件,并使用 systemctl

命令管理这些服务。

当用户服务类型为非根用户时,通过文本或图形控制台或使用 SSH 打开第一个会话时,该服务将自动

启动。当关闭最后一次会话时,服务将停止这种行为与系统服务不同,系统服务在系统启动时启动,在系

统关闭时停止。

但也可以更改此默认行为,通过运行 loginctl enable-linger 命令强制 service 在服务器启动时启

动并在关闭时停止。

逆向操作,请使用 loginctl disable-linger 命令查看当前状态,使用 loginctl show-user

username 命令。


创建 systemd 配置文件目录

[xuegod@xuegod63 ~]$ mkdir -p ~/.config/systemd/user/

[xuegod@xuegod63 ~]$ cd .config/systemd/user/普通用户和 root 用户不共享镜像服务,所以普通用户的镜像需要重新拉取

[xuegod@xuegod63 user]$ podman pull httpd

启动容器

[xuegod@xuegod63 user]$ podman run -d -p9000:80 --name xuegod-user-web03 httpd

注:非特权用户只能使用宿主机大于 1024 的端口进行发布网络服务

访问 web 地址:http://192.168.1.63:9000

创建 systemd 配置文件

创建 systemd 配置文件

[xuegod@xuegod63 user]$ podman generate systemd --name xuegod-user-web03 --

files --new

删除当前正在运行的容器

[xuegod@xuegod63 user]$ podman rm -f -a

重新加载 systemd 配置文件,要控制新 user service 使用 systemctl --user 选项

注:要使用 systemctl --user 命令,必须在控制台登录或直接通过 SSH 登录,不能使用 sudo 或 su

命令。systemctl 命令与每个用户的 systemd --user 进程交互。只有当用户第一次从控制台或

SSH 登录时,系统才会启动该进程。

[xuegod@xuegod63 user]$ systemctl --user daemon-reload

配置开机自启动并立即启动容器

[xuegod@xuegod63 user]$ systemctl --user enable --now container-xuegod-user-

web03

systemctl --user status container-xuegod-user-web03

[xuegod@xuegod63 user]$ podman p













以上是关于e-3Podman容器管理和Cockpit管理Podman的主要内容,如果未能解决你的问题,请参考以下文章

如何在 CentOS 8/RHEL 8 上安装和使用 Cockpit

如何在 CentOS 8/RHEL 8 上安装和使用 Cockpit

Cockpit 服务化管理工具

Linux下服务器管理软件Cockpit

Linux 管理工具 Cockpit 安装及使用

Linux系统上怎么安装服务器管理软件Cockpit?