Pve 使用 lxc 容器安装 ubuntu


共计 1399 个字符,预计需要花费 4 分钟才能阅读完成。

之前有提到如何使用 Pve 使用 lxc 创建 Openwrt 的容器,不过那个是使用了自己编译的根文件系统压缩包,其实 Pve 也提供了许多 CT (Container Template)模板。

可以在 CT 模板页面,点击上方的模板,选择自己需要的模板进行下载。这里有各类模板,有系统模板如 Ubuntu、Centos,还有软件模板如 Nextcloud、Mysql、Nginx等。

Pve 使用 lxc 容器安装 ubuntu

/>

这里以 ubuntu22.04 的模板为例,创建一个 ubuntu 容器。首先需要从下载一个 ubuntu22.04 的模板,然后执行如下命令即可:

pct create 118 \
    local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst \
    --rootfs local:20 \
    --ostype ubuntu \
    --hostname myubuntu \
    --arch amd64 \
    --cores 4 \
    --memory 4096 \
    --swap 4096 \
    --onboot 1 \
    --start 1 \
    --net0 bridge=vmbr0,name=eth0,ip=172.21.9.26/24,gw=172.21.9.254 \
    --password=12345
  • pct create 118: 创建容器的命令,118 是要创建的容器的 ID。

  • local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst: 使用本地存储中的 Ubuntu 22.04 标准模板来创建容器。

  • --rootfs local:20: 使用本地存储,并分配 20g 空间。

  • --ostype ubuntu: 指定容器的操作系统类型为 Ubuntu。

  • --hostname myubuntu: 设置容器的主机名。

  • --arch amd64: 指定容器的架构为 amd64。

  • --cores 4: 分配给容器的虚拟 CPU 核心数量。

  • --memory 4096: 为容器分配内存。

  • --swap 4096: 为容器分配交换空间。

  • --onboot 1: 设置容器在主机启动时自动启动。

  • --start 1:容器创建后立即启动。

  • --net0 bridge=vmbr0,name=eth0,ip=172.21.9.25/24: 配置容器的网络接口。使用 vmbr0 桥接接口,并将容器内的网络接口命名为 eth0,并分配给容器的 IP 地址为 172.21.9.25,子网掩码为 24。如果想设置动态获取 ip,可以设置为 ip=dhcp。gw 为容器指定网关为 172.21.9.254。

  • --password=12345: 设置容器的 root 用户密码为 12345。

更多关于 pct 的命令,可以使用 man pct 进行查阅,比如说创建时指定 dns、时区、是否为特权容器等。

创建好了 ubuntu 容器此时还不能 ssh,因为默认是 root 用户,而 ubuntu 需要配置才能让 root 用户可以登录。

此时可以通过 Pve 的 web 页面进入刚刚创建的容器执行命令,也可以通过命令行进入。

# 进入容器,可使用exit退出
pct exec 118 bash
# 通过控制台进入,需要先按ctrl+a,松开后按q进行退出
# pct console 118

进入容器后,再执行如下命令:

# 允许root用户登录
sed -i '/PermitRootLogin/ a PermitRootLogin yes' /etc/ssh/sshd_config
# 重启ssh
systemctl restart ssh

提醒:本文发布于340天前,文中所关联的信息可能已发生改变,请知悉!

Tips:清朝云网络工作室

阅读剩余
THE END