DevOps丨Podman运行的AlmaLinux容器中安装1panel

505 阅读2分钟
1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。

产品优势 引自官方

  • 高效管理:用户可以通过 Web 图形界面轻松管理 Linux 服务器,实现主机监控、文件管理、数据库管理、容器管理等功能;
  • 快速建站:深度集成开源建站软件 WordPress 和 Halo,域名绑定、SSL 证书配置等操作一键搞定;
  • 应用商店:精选上架各类高质量的开源工具和应用软件,协助用户轻松安装并升级;
  • 安全可靠:基于容器管理并部署应用,实现最小的漏洞暴露面,同时提供防火墙和日志审计等功能;
  • 一键备份:支持一键备份和恢复,用户可以将数据备份到各类云端存储介质,永不丢失。

非容器安装请参考官方文档,在线安装和离线安装已经很方便了,注意:alpine容器暂时没有安装成功过,后面有时间会再验证。

容器启动准备

启动命令

先说结论,最终容器运行命令如下:

podman run --privileged -itd --name 1panel -u root almalinux:9 /usr/sbin/init

经过测试,容器运行命令至少要包含privileged和/usr/sbin/init,这个是前提

遇到的问题

1. 脚本运行过程中会出现权限问题
由于1panel依赖docker容器,在容器运行参数中需要增加privilege权限

podman run --privileged -itd --name 1panel -u root almalinux:9

2. docker启动报错:System has not been booted with systemd as init system (PID 1). Can‘t operate.
需要在容器运行参数指定获取systemctl权限

podman run --privileged -itd --name 1panel -u root almalinux:9 /usr/sbin/init

1panel安装前准备

安装iptables

由于docker运行依赖iptables组件,而alma系统默认使用nftables,虽然不默认安装 iptables,但系统提供了 iptables-nft包,它提供了与 iptables 兼容的接口,但实际上使用 nftables 作为后端。

dnf install -y iptables-nft

1panel安装

官方在线脚本使用其他选项的脚本或者选择离线安装方式

1. docker启动报错问题排查
如果安装过程中出现docker启动问题,请执行dockerd查看报错日志信息,这里面的信息描述比较全面,更容易定位问题。

参考文章

docker报错:System has not been booted with systemd as init system (PID 1). Can‘t operate.-阿里云开发者社区
docker启动不了,报错failed to find iptables-CSDN博客
centos7 安装docker遇到的无法启动的问题_failed to mount overlay: no such device storage-dr-CSDN博客