简体中文
容器
容器 模块把一个 Linux 被控端配置为 Docker 主机:你在这里声明容器,模块交给 podman 运行,Docker Hub 和其他镜像仓库里的 Docker 镜像都能直接用。每个容器是一个 systemd 单元,容器发布的每个主机端口,都成为客户端里的一项。podman 4.4 起,一条声明变成一个 Quadlet .container 文件;Debian 12 带的 4.3 这类旧版,由被控端写出 .service 单元。
开始之前,在模块页的 容器 标签下依次选择 安装 和 配置。标签下面展开 正在运行、镜像源 和 声明的容器。

声明容器
- 在 声明的容器 下选择 添加容器。
- 填 名称 和 镜像标签。
- 按需要填 端口、卷、环境变量 和 命令(可选)。列表类的项,每填一行选一次 添加。
- 选择 应用容器。
每个容器都在 podman 的默认网络上。
名称和镜像标签
名称 同时是容器名和它的 systemd 单元名,在这台机器上不能重复。它只用小写字母、数字、_ 和 -,以字母或数字开头,最长 64 个字符。客户端里这个容器的端口,标题就是这个名称。
镜像标签 写镜像和标签,例如 redis:7,也可以写带仓库地址的全名。填了镜像之后出现 选择标签:中枢从 Docker Hub 取这个镜像最近更新的 25 个标签。选中一个,镜像标签末尾的标签就换成它。Docker Hub 以外的镜像列不出标签,标签要自己输入,例如 :latest。
端口
TIP
容器上声明的每个主机端口,都自动列在 服务 页的 端口 组里,标题是容器名称。客户端在 端口 页上选 连接,就能转发它。带 /udp 的端口是一个 UDP 条目。
每行一个映射,冒号前是主机端口,冒号后是容器端口,例如 8080:80。UDP 端口在末尾加 /udp,例如 5353:5353/udp。
每个主机端口,在客户端的 端口 页上成为一项,标题是容器名称,地址是这台机器和主机端口。在这一项上选择 连接,客户端把它转发到本机 127.0.0.1 上的一个端口,本机程序连这个地址就到了容器。容器停着时,这一项在客户端里变灰。
卷
每行把主机上的一个位置映射进容器,例如 /srv/share:/data,冒号后是容器里的路径。容器路径从 / 开始。主机这一侧写机器上从 / 开始的文件夹,或者 podman 命名卷的名字。
容器重建时,只有卷里的文件留下。要长期保存的数据,都放进卷。ZFS 数据集的挂载点也能当主机路径,见把一个被控端配置为 NAS。
环境变量
每行一个 KEY=value。名字只用字母、数字和下划线,不以数字开头;值写在同一行里。
命令
命令(可选) 留空时,容器运行镜像自带的命令。填了就换成你写的这一行,例如 python3 -m http.server 8000。debian、alpine 这类基础镜像没有长期运行的命令,要在这里写一个,否则容器启动后马上退出。
随机器启动
随机器启动 默认打开,机器开机时容器跟着启动。关掉之后,开机不启动它,要在 正在运行 里选择 启动。容器异常退出时,systemd 自动重启它。
应用容器
选择 应用容器 时,中枢把整张容器列表发给这台机器的被控端。被控端先检查每一项。有一项写错,整次应用都不生效,面板写出错在哪一项。检查通过后,被控端按列表改动机器:
- 新加的容器写出单元。开着 随机器启动 的,随即启动;第一次启动要拉镜像,可能要等一会儿。
- 改过的容器重建。开着 随机器启动 或正在运行的,随即重新启动。
- 列表里删掉的容器停下,单元也删掉,镜像和卷留在机器上。
- 没改的容器照常运行。
WARNING
重建的容器里,卷以外的文件全部丢失。
正在运行
正在运行 列出机器上的每个容器和它的状态。每一行有 启动、停止、重启、日志 和 Shell,最后一个打开容器内的 shell。
镜像源
拉镜像时,先按顺序试镜像源,最后才走 docker.io。选择 添加镜像源,填地址,再选择 应用镜像源。下一次拉取时生效,不重启任何容器。
机器上已有的容器
第一次 配置 把机器上已有的容器和镜像源收为声明,不重建容器。从此,这个标签里的声明是唯一的依据。
发布到哪里
容器发布的每个主机端口,都是服务页 端口 组里的一行,来源一栏写着容器的镜像,例如 由容器 docker.io/library/redis:7 发布。机器上不经这个标签建的容器,发布了主机端口的话也列在这里。带 /udp 发布的端口单独成为一行,地址写成 host:port/udp。
