Pve 使用 lxc 容器安装 ubuntu

之前有提到如何使用 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

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索