Skip to content

podman相关的各种一键(Various one-click related to podman)通过podman批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via podman)

License

Notifications You must be signed in to change notification settings

oneclickvirt/podman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

podman

Hits

基于 Podman 的容器环境一键安装与管理脚本

支持一键安装 Podman 运行时,并开设基于本仓库编译镜像的各种 Linux 容器(提供 SSH 访问),支持 IPv6、端口映射、资源限制等。

说明

  • 使用各发行版官方软件包安装 Podman(无守护进程,daemonless 架构)
  • 使用本仓库自编译的基础镜像(存储在 GitHub Releases),优先离线加载,无法获取时回退到 ghcr.io 镜像
  • 支持系统:Ubuntu 22.04、Debian 12、Alpine、AlmaLinux 9、RockyLinux 9、OpenEuler 22.03
  • 支持架构:amd64、arm64

安装 Podman 环境

bash <(wget -qO- https://raw.githubusercontent.com/oneclickvirt/podman/main/podmaninstall.sh)

开设单个容器

# 下载脚本
wget -q https://raw.githubusercontent.com/oneclickvirt/podman/main/scripts/onepodman.sh
chmod +x onepodman.sh

# 用法:
# ./onepodman.sh <name> <cpu> <memory_mb> <password> <sshport> <startport> <endport> [ipv6:y/n] [system] [disk_gb]

# 示例: 创建名为 ct1 的 Debian 容器,1核 512MB,SSH端口25000,额外端口34975-35000
./onepodman.sh ct1 1 512 MyPassword 25000 34975 35000 n debian 0
参数 说明 默认值
name 容器名称 test
cpu CPU 核数(支持 0.5 等) 1
memory_mb 内存限制(MB) 512
password root 密码 123456
sshport SSH 端口(宿主机→容器 22) 25000
startport 公网端口范围起始 34975
endport 公网端口范围结束 35000
ipv6 是否分配独立 IPv6(y/n) n
system 镜像系统 debian
disk_gb 磁盘限制 GB(0=不限制) 0

支持的 system 参数: ubuntu / debian / alpine / almalinux / rockylinux / openeuler

批量开设容器

wget -q https://raw.githubusercontent.com/oneclickvirt/podman/main/scripts/create_podman.sh
chmod +x create_podman.sh
./create_podman.sh

交互式脚本,自动递增容器名(ct1, ct2, ...)、SSH 端口、公网端口,容器信息记录到 ctlog 文件。

查看与管理容器

podman ps -a                  # 查看所有容器
podman exec -it <name> bash   # 进入容器(bash 系统)
podman exec -it <name> sh     # 进入容器(alpine)
podman logs <name>            # 查看容器日志
podman rm -f <name>           # 删除单个容器
podman images                 # 查看所有镜像
podman rmi <image>            # 删除镜像

卸载(完整清理)

一键卸载 Podman 全套环境,包括所有容器、镜像、网络、辅助文件:

bash <(wget -qO- https://raw.githubusercontent.com/oneclickvirt/podman/main/podmanuninstall.sh)

脚本会在执行前要求输入 yes 确认,操作不可逆。

镜像说明

本仓库自编镜像通过 GitHub Actions 使用 Podman/Buildah 构建,发布到 Releases 及 ghcr.io:

系统 amd64 arm64
Ubuntu 22.04 spiritlhl_ubuntu_amd64.tar.gz spiritlhl_ubuntu_arm64.tar.gz
Debian 12 spiritlhl_debian_amd64.tar.gz spiritlhl_debian_arm64.tar.gz
Alpine latest spiritlhl_alpine_amd64.tar.gz spiritlhl_alpine_arm64.tar.gz
AlmaLinux 9 spiritlhl_almalinux_amd64.tar.gz spiritlhl_almalinux_arm64.tar.gz
RockyLinux 9 spiritlhl_rockylinux_amd64.tar.gz spiritlhl_rockylinux_arm64.tar.gz
OpenEuler 22.03 spiritlhl_openeuler_amd64.tar.gz spiritlhl_openeuler_arm64.tar.gz

同时推送至 ghcr.io,支持 multi-arch manifest:

  • ghcr.io/oneclickvirt/podman:<os>-amd64
  • ghcr.io/oneclickvirt/podman:<os>-arm64
  • ghcr.io/oneclickvirt/podman:<os>(multi-arch manifest list)

网络说明

  • IPv4 网络名: podman-net,bridge: podman-br0,subnet: 172.20.0.0/16
  • IPv6 双栈网络名: podman-ipv6,bridge: podman-br1,包含 172.21.0.0/16 + 公网 IPv6 /80 子网
  • 与 containerd/docker 版本完全隔离,互不干扰

与 containerd/docker 版本对比

特性 本项目(Podman) oneclickvirt/containerd oneclickvirt/docker
守护进程 无(daemonless) containerd Docker daemon
运行时 crun/runc runc runc
rootless 支持 原生支持 不支持 需配置
镜像格式 OCI OCI OCI
网络后端 netavark/CNI CNI Docker bridge
构建工具 Buildah/podman-build buildkitd Docker buildx
安装方式 系统包管理器 nerdctl-full bundle Docker 官方脚本

About

podman相关的各种一键(Various one-click related to podman)通过podman批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via podman)

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages