便宜VPS主机精选
提供服务器主机评测信息

海外云服务器安装Podman及Rootless容器教程

海外云服务器安装Podman及Rootless容器教程

一、海外云服务器环境准备

部署前,先确认海外云服务器满足这些基础条件。操作系统推荐Debian 11+、Ubuntu 20.04+,或是RHEL 8+、CentOS Stream 8+。本文以Debian 12和CentOS Stream 9为例。系统权限需拥有root或sudo权限(可临时获取系统最高权限的命令)的账户。网络状态要求
海外云服务器网络通畅,可正常访问软件源与容器镜像仓库(存储容器镜像的远程仓库)。

以root身份登录服务器,先更新系统软件包:

# Debian/Ubuntu 系列
apt update && apt upgrade -y
# CentOS/RHEL 系列
dnf update && dnf upgrade -y

随后创建普通用户,Rootless容器(以普通用户权限运行的容器,可避免容器逃逸获取系统root权限)模式需以非root用户运行:

useradd -m poduser
passwd poduser
# 给普通用户添加sudo权限(仅安装阶段临时使用)
usermod -aG sudo poduser

二、在海外云服务器安装Podman

Podman(开源容器引擎,无需守护进程即可管理容器)的安装在海外云服务器上无需额外配置软件源,官方源即可快速下载。

1. Debian/Ubuntu 系列安装

以root或sudo权限执行以下命令:

apt install podman -y

安装完成后验证版本:

podman --version

2. CentOS/RHEL 系列安装

以root或sudo权限执行:

dnf install podman -y

同样验证安装结果:

podman --version

三、配置Rootless Podman 运行环境

Rootless模式是Podman的核心安全特性,容器进程以普通用户权限运行,可避免容器逃逸获取系统root权限,适合海外云服务器的多用户或轻量部署场景。

1. 切换至普通用户

退出root账户,切换到刚创建的普通用户:

su - poduser

或直接以poduser身份通过SSH(远程登录协议)登录海外云服务器。

2. 初始化Rootless 环境

执行以下命令初始化用户级容器运行时环境:

podman system migrate

随后配置环境变量,确保Podman可正常调用:

echo "export XDG_RUNTIME_DIR=/run/user/$(id -u)" >> ~/.bashrc
echo "export PATH=$PATH:/usr/local/bin" >> ~/.bashrc
source ~/.bashrc

3. 验证Rootless 模式配置

执行以下命令确认Rootless模式已启用:

podman info | grep "rootless"

若输出为`rootless: true`,则说明配置成功。

四、运行第一个Rootless 容器

接下来以Nginx(开源网页服务器软件)为例,启动一个Rootless容器验证功能。海外云服务器访问海外镜像仓库速度较快,无需额外配置加速即可高效拉取镜像。

1. 拉取Nginx 镜像

直接执行:

podman pull nginx:alpine

2. 启动Rootless Nginx 容器

Rootless容器默认无法绑定1024以下的特权端口,因此映射到高位端口(如8080):

podman run -d -p 8080:80 --name my-nginx nginx:alpine

参数说明:

– -d:后台运行容器

– -p 8080:80:将服务器8080端口映射到容器80端口

– –name:给容器命名便于管理

3. 验证容器运行状态

首先查看容器运行状态:

podman ps

若输出中my-nginx容器状态为Up,则说明启动成功。

随后通过海外云服务器的公网IP访问验证:

在本地浏览器访问:http://你的海外云服务器公网IP:8080

或在服务器内执行

curl localhost:8080

若返回Nginx的默认HTML页面内容,则容器运行正常。

五、常见问题与故障排查

1. 容器启动失败:端口绑定被拒绝

执行run命令后提示”permission denied”,多因Rootless容器无法绑定1024以下特权端口。将映射端口改为1024以上(如8080、3000等),不推荐开放特权端口权限,避免降低安全性。

2. 普通用户无法执行podman命令

podman命令提示”command not found”或权限错误,多因环境变量未配置或用户未正确初始化Rootless环境。重新执行`podman system migrate`和`source ~/.bashrc`命令,确保当前用户为普通非root账户。

3. 镜像拉取速度慢

pull命令长时间无进度,多因部分海外云服务器区域访问默认镜像仓库较慢。编辑`~/.config/containers/registries.conf`,添加海外地区镜像加速源(如quay.io的镜像源),具体配置可参考Podman官方文档。

Rootless模式的安全特性结合海外云服务器的网络优势,可高效支撑轻量应用部署、测试环境搭建等场景。

未经允许不得转载:便宜VPS测评 » 海外云服务器安装Podman及Rootless容器教程