NAME

pct.conf - Proxmox VE 容器配置

SYNOPSIS

/etc/pve/lxc/<CTID>.conf

DESCRIPTION

/etc/pve/lxc/<CTID>.conf 文件存储容器配置,其中 CTID 是指定容器的数字 ID。

Note ID < 100 保留供内部用途使用。

文件格式

该文件使用简单的冒号分隔 key/value 格式。每行格式如下:

OPTION: value

文件中的空行会被忽略,以 # 字符开头的行会被视为注释,也会被忽略。

可以使用 pct 命令生成和修改这些文件。

也可以直接添加低级 LXC 风格配置,例如:

lxc.init_cmd: /sbin/my_own_init

lxc.init_cmd = /sbin/my_own_init

这些设置会直接传递给 LXC 底层工具。

常用命令示例
# pct config <CTID>
# pct set <CTID> -memory 512

选项

arch: <amd64 | arm64 | armhf | i386 | riscv32 | riscv64> (default = amd64)

操作系统架构类型。

cmode: <console | shell | tty> (default = tty)

控制台模式。默认情况下,console 命令会尝试连接到一个可用的 tty 设备。将 cmode 设置为 console 时,它会改为尝试附加到 /dev/console。如果将 cmode 设置为 shell,则会直接在容器内调用 shell(不登录)。

console: <boolean> (default = 1)

为容器附加一个控制台设备(/dev/console)。

cores: <integer> (1 - 8192)

分配给容器的核心数量。默认情况下,容器可以使用所有可用核心。

cpulimit: <number> (0 - 8192) (default = 0)

CPU 使用限制。

Note 如果计算机有 2 个 CPU,则总共有 2 份 CPU 时间。值 0 表示不限制 CPU。
cpuunits: <integer> (0 - 500000) (default = cgroup v1: 1024, cgroup v2: 100)

容器的 CPU 权重。该参数用于内核公平调度器。数值越大,该容器获得的 CPU 时间越多。 该数值相对于所有其他正在运行的来宾的权重。

debug: <boolean> (default = 0)

尝试输出更详细的信息。目前这只会在启动时启用 debug 日志级别。

description: <string>

容器的描述。显示在 Web 界面中 CT 的概要页。该内容会作为注释保存在配置文件中。

dev[n]: [[path=]<Path>] [,deny-write=<1|0>] [,gid=<integer>] [,mode=<Octal access mode>] [,uid=<integer>]

要直通给容器的设备。

deny-write=<boolean> (default = 0)

禁止容器写入该设备。

gid=<integer> (0 - N)

要分配给设备节点的组 ID。

mode=<Octal access mode>

要在设备节点上设置的访问模式。

path=<Path>

要直通给容器的设备路径。

uid=<integer> (0 - N)

要分配给设备节点的用户 ID。

features: [force_rw_sys=<1|0>] [,fuse=<1|0>] [,keyctl=<1|0>] [,mknod=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]

允许容器访问高级功能。

force_rw_sys=<boolean> (default = 0)

在非特权容器中将 /sys 挂载为 rw,而不是 mixed。这可能会破坏较新版 (>= v245)systemd-network 下的网络功能。

fuse=<boolean> (default = 0)

允许在容器中使用 fuse 文件系统。请注意,fuse 与 freezer cgroup 之间的交互 可能导致 I/O 死锁。

keyctl=<boolean> (default = 0)

仅用于非特权容器:允许使用 keyctl() 系统调用。在容器内使用 docker 需要此功能。 默认情况下,非特权容器会看到该系统调用不存在。这主要是针对 systemd-networkd 的 变通措施,因为当部分 keyctl() 操作因权限不足而被内核拒绝时,它会将其视为致命错误。 本质上,需要在运行 systemd-networkd 和 docker 之间做出选择。

mknod=<boolean> (default = 0)

允许非特权容器使用 mknod() 添加某些设备节点。这需要内核支持 seccomp trap 到用户空间 (5.3 或更新版本)。此功能为实验性。

mount=<fstype;fstype;...>

允许挂载特定类型的文件系统。该值应为 mount 命令所使用的文件系统类型列表。请注意, 这可能对容器安全性产生负面影响。如果可以访问 loop 设备,挂载文件可能绕过 devices cgroup 的 mknod 权限;挂载 NFS 文件系统可能完全阻塞主机 I/O 并阻止其重启,等等。

nesting=<boolean> (default = 0)

允许嵌套。最好与带有额外 ID 映射的非特权容器一起使用。请注意,这会将主机的 procfs 和 sysfs 内容暴露给来宾。

hookscript: <string>

在容器生命周期的多个阶段执行的脚本。

hostname: <string>

设置容器的主机名。

lock: <backup | create | destroyed | disk | fstrim | migrate | mounted | rollback | snapshot | snapshot-delete>

锁定或解锁容器。

memory: <integer> (16 - N) (default = 512)

容器的 RAM 容量,单位为 MB。

mp[n]: [volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]

将卷用作容器挂载点。使用特殊语法 STORAGE_ID:SIZE_IN_GiB 可分配新卷。

acl=<boolean>

显式启用或禁用 ACL 支持。

backup=<boolean>

是否将该挂载点包含在备份中(仅用于卷挂载点)。

mountoptions=<opt[;opt...]>

rootfs/mps 的额外挂载选项。

mp=<Path>

从容器内部看到的挂载点路径。

Note 出于安全原因,不得包含任何符号链接。
quota=<boolean>

在容器内启用用户配额(zfs 子卷不支持)。

replicate=<boolean> (default = 1)

会将该卷包含到存储复制作业中。

ro=<boolean>

只读挂载点。

shared=<boolean> (default = 0)

将此非卷挂载点标记为在所有节点上可用。

Warning 此选项不会自动共享挂载点,而是假定它已经被共享。
size=<DiskSize>

卷大小(只读值)。

volume=<volume>

要挂载到容器中的卷、设备或目录。

nameserver: <string>

设置容器的 DNS 服务器 IP 地址。如果既未设置 searchdomain 也未设置 nameserver, 创建时会自动使用主机上的设置。

net[n]: name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<(IPv4/CIDR|dhcp|manual)>] [,ip6=<(IPv6/CIDR|auto|dhcp|manual)>] [,link_down=<1|0>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]

指定容器的网络接口。

bridge=<bridge>

要附加网络设备的网桥。

firewall=<boolean>

控制是否使用此接口的防火墙规则。

gw=<GatewayIPv4>

IPv4 流量的默认网关。

gw6=<GatewayIPv6>

IPv6 流量的默认网关。

hwaddr=<XX:XX:XX:XX:XX:XX>

常规 MAC 地址,未设置 I/G(Individual/Group)位。

ip=<(IPv4/CIDR|dhcp|manual)>

CIDR 格式的 IPv4 地址。

ip6=<(IPv6/CIDR|auto|dhcp|manual)>

CIDR 格式的 IPv6 地址。

link_down=<boolean>

是否断开该接口(类似拔掉网线)。

mtu=<integer> (64 - 65535)

接口的最大传输单元。(lxc.network.mtu)

name=<string>

从容器内部看到的网络设备名称。(lxc.network.name)

rate=<mbps>

对该接口应用速率限制。

tag=<integer> (1 - 4094)

此接口的 VLAN 标签。

trunks=<vlanid[;vlanid...]>

允许通过该接口的 VLAN ID。

type=<veth>

网络接口类型。

onboot: <boolean> (default = 0)

指定容器是否在系统启动期间自动启动。

ostype: <alpine | archlinux | centos | debian | devuan | fedora | gentoo | nixos | opensuse | ubuntu | unmanaged>

操作系统类型。该值用于在容器内设置配置,并对应 /usr/share/lxc/config/<ostype>.common.conf 中的 lxc 设置脚本。值 unmanaged 可用于跳过特定于操作系统的设置。

protection: <boolean> (default = 0)

设置容器的保护标志。这会阻止对 CT 或 CT 磁盘执行移除/更新操作。

rootfs: [volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]

将卷用作容器根文件系统。

acl=<boolean>

显式启用或禁用 ACL 支持。

mountoptions=<opt[;opt...]>

rootfs/mps 的额外挂载选项。

quota=<boolean>

在容器内启用用户配额(zfs 子卷不支持)。

replicate=<boolean> (default = 1)

会将该卷包含到存储复制作业中。

ro=<boolean>

只读挂载点。

shared=<boolean> (default = 0)

将此非卷挂载点标记为在所有节点上可用。

Warning 此选项不会自动共享挂载点,而是假定它已经被共享。
size=<DiskSize>

卷大小(只读值)。

volume=<volume>

要挂载到容器中的卷、设备或目录。

searchdomain: <string>

设置容器的 DNS 搜索域。如果既未设置 searchdomain 也未设置 nameserver,创建时会自动使用主机上的设置。

startup: `[[order=]\d+] [,up=\d+] [,down=\d+] `

启动和关闭行为。Order 是一个非负数,用于定义总体启动顺序。关闭时按相反顺序执行。 此外,可以设置以秒为单位的 updown 延迟,用于指定启动或停止下一个虚拟机前等待的延迟。

swap: <integer> (0 - N) (default = 512)

容器的 SWAP 容量,单位为 MB。

tags: <string>

容器的标签。这只是元信息。

template: <boolean> (default = 0)

启用或禁用模板。

timezone: <string>

容器中使用的时区。如果未设置该选项,则不会执行任何操作。可设置为 host 以匹配主机时区, 也可以设置为 /usr/share/zoneinfo/zone.tab 中的任意时区选项。

tty: <integer> (0 - 6) (default = 2)

指定容器可用的 tty 数量。

unprivileged: <boolean> (default = 0)

使容器以非特权用户身份运行。(不应手动修改。)

unused[n]: [volume=]<volume>

对未使用卷的引用。该项供内部使用,不应手动修改。

volume=<volume>

当前未使用的卷。

版权和免责声明

Copyright © 2022-2025 成都市梨儿方信息技术有限责任公司.

本程序是自由软件:你可以依据自由软件基金会发布的 GNU Affero General Public License 条款重新分发和/或修改本程序;可使用该许可证第 3 版,或(由你选择)任何后续版本。

发布本程序是希望它能够有用,但不提供任何担保;甚至不包含对适销性或特定用途适用性的默示担保。更多详情请参见 GNU Affero General Public License。

你应当已经随本程序收到一份 GNU Affero General Public License 的副本。如果没有,请访问: https://www.gnu.org/licenses/

Copyright © 2007-2022 Proxmox Server Solutions GmbH

本程序是自由软件:你可以依据自由软件基金会发布的 GNU Affero General Public License 条款重新分发和/或修改本程序;可使用该许可证第 3 版,或(由你选择)任何后续版本。

发布本程序是希望它能够有用,但不提供任何担保;甚至不包含对适销性或特定用途适用性的默示担保。更多详情请参见 GNU Affero General Public License。

你应当已经随本程序收到一份 GNU Affero General Public License 的副本。如果没有,请访问: https://www.gnu.org/licenses/