更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux教程 > 在Promox VE上的LXC容器中运行Debian/Ubuntu Linux

在Promox VE上的LXC容器中运行Debian/Ubuntu Linux

更新时间:2023-04-06 09:26:07浏览次数:383+次

在本教程中,我们将介绍在Promox VE上的LXC容器中运行Debian/Ubuntu Linux的过程。请注意,您需要一个工作的Proxmox VE才能在您的基本系统上使用此安装,另外,Promox VE要已经安装并运行了LXC。

在Promox VE上运行Debian/Ubuntu LXC容器

登录您的Promox VE:

ssh root@PromoxIP

检查LXC的版本以验证它是否已安装:

# dpkg -l lxc-pve

Desired=Unknown/Install/Remove/Purge/Hold

Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend

Err?=(none)/Reinst-required (Status,Err: uppercase=bad)

lxc-pve        5.0.0-3      amd64        Linux containers userspace tools

有一组名为Proxmox Helper Scripts的工具,允许您以交互式方式创建Linux容器或虚拟机,并提供基本配置和高级配置的选项。

让我们下载简化Promox虚拟化环境中Debian Linux容器安装的脚本:

### Debian ###

wget https://github.com/tteck/Proxmox/raw/main/ct/debian.sh

### Ubuntu ###

wget https://github.com/tteck/Proxmox/raw/main/ct/ubuntu.sh

使用chmod命令使脚本可执行:

### Debian ###

chmod +x debian.sh

### Ubuntu ###

chmod +x ubuntu.sh

执行脚本,开始在Proxmox上安装Debian LXC容器:

### Debian ###

./debian.sh

### Ubuntu ###

./ubuntu.sh

在第一个提示中,接受Debian LXC的创建:

\

为了便于设置,您可以选择默认设置,即Default Settings:

\

对于自定义安装-主机名、根密码、IP地址和其他设置,请选择高级(Advanced):

\

选择容器的类型。对于任何其他用途,无特权(Unprivileged)都可以,除非你知道为什么选择特权:

\

设置root密码。如果为容器启用了SSH访问,则这是必需的:

\

设置容器ID。您可以忽略并保留自动生成的编号:

\

接下来设置容器的主机名。完成后点击Ok按钮:

\

默认磁盘大小对于您的应用程序来说可能太小,这时可以设置所需的存储容量:

\

还要设置要分配给容器的CPU核心:

\

RAM设置为MB。在我的示例中,容器将具有2GB的内存:

\

为网络设置网桥名称。您可以使用brctl命令检查Proxmox服务器中的可用网桥:

$ brctl show

会返回桥接器名称、桥接器id和STP已启用的信息,如下截图:

\

如果您没有自定义,我将使用vmbr0–默认的Proxmox网桥:

\

在IP地址上,您可以选择DHCP或设置静态IP地址:

\

如果使用静态IP地址,请组合IP和子网。例如192.168.20.40/24。接下来提供默认网关,例如192.168.20.1:

\

您可以选择使用或禁用IPv6。对我来说,我不需要在这个容器中启用它:

\

根据使用情况,您可以设置MTU大小:

\

设置DNS搜索域。这在使用内部DNS服务器时更实用。当然,这一选项是可选的:

\

可以指定DNS服务器IP地址。对于DHCP,请将其留空:

\

MAC地址设置也可在高级配置选项中使用:

\

如果没有在网络中使用VLAN,请设置或忽略它:

\

选择通过SSH启用或禁用root访问:

\

启用或禁用详细模式(verbose mode):

\

当准备好创建容器时,点击Yes键:

\

如果创建成功,您应该会看到类似于下面的消息:

\

您还可以使用lxc-info命令显示有关已创建容器的更多信息:

$ lxc-info 117

Name: 117

State: RUNNING

PID: 1053938

IP: 192.168.207.128

Link: veth117i0

TX bytes: 187.60 KiB

RX bytes: 19.79 MiB

Total bytes: 19.97 MiB

我们可以测试ping:

$ ping -c 2 192.168.207.128

PING 192.168.207.128 (192.168.207.128) 56(84) bytes of data.

64 bytes from 192.168.207.128: icmp_seq=1 ttl=64 time=0.041 ms

64 bytes from 192.168.207.128: icmp_seq=2 ttl=64 time=0.039 ms

--- 192.168.207.128 ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1002ms

rtt min/avg/max/mdev = 0.039/0.040/0.041/0.001 ms

如果已启用SSH,则应该可以将其作为根用户(root):

$ ssh root@192.168.207.128

The authenticity of host '192.168.207.128 (192.168.207.128)' can't be established.

ECDSA key fingerprint is SHA256:pagZQOlpXT3MUMaCXKGw/gn6ivW4StfZCVsxP3L63+0.

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added '192.168.207.128' (ECDSA) to the list of known hosts.

root@192.168.207.128's password:

Debian LXC provided by https://tteck.github.io/Proxmox/

root@debian:~# cat /etc/os-release

PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"

NAME="Debian GNU/Linux"

VERSION_ID="11"

VERSION="11 (bullseye)"

VERSION_CODENAME=bullseye

ID=debian

HOME_URL="https://www.debian.org/"

SUPPORT_URL="https://www.debian.org/support"

BUG_REPORT_URL="https://bugs.debian.org/"

root@debian:~# exit

logout

对于控制台访问使用:

root@pve07 ~ # lxc-console 117

Connected to tty 1

Type <Ctrl+a q> to exit the console, <Ctrl+a Ctrl+a> to enter Ctrl+a itself

Debian GNU/Linux 11 debian tty1

debian login: root

Password:

Debian LXC provided by https://tteck.github.io/Proxmox/

Last login: Tue Apr 4 18:52:44 EAT 2023 from 192.168.207.1 on pts/3

root@debian:~#

注:可键入<Ctrl+a q>退出控制台。

结论

总之,对于需要以更快、高效和高效的方式创建、管理和部署应用程序的系统管理员和开发人员来说,Linux和LXC都是强大的工具。这些工具是免费的、开源的,让任何想使用它们的人都可以访问。随着Proxmox VE已经部署在您的基础设施中,您可以在运行LXC容器时利用其功能和可用资源。