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