我可以在 Ubuntu Core 主机上的 LXD 容器内运行“apt install”吗?

我可以在 Ubuntu Core 主机上的 LXD 容器内运行“apt install”吗?

阅读这个答案我们显然可以在 Ubuntu Core 上以 snap 包的形式安装 LXD。了解Ubuntu Core 的限制,我想知道是否有可能在 Ubuntu Core 主机上运行“正常”的 Ubuntu Server LXD 容器?例如,您可以apt install在容器中运行命令来安装 Apache Web 服务器吗?

答案1

是的你可以。如果您在 snappy 系统上的 LXD 容器中启动 Ubuntu 服务器,则可以apt install在该 lxd 容器内运行。

您可以将 LXD 容器视为使用与主机相同内核的虚拟机。Ubuntu Core 具有与 Ubuntu 服务器相同的内核。这意味着在 Ubuntu Core 上运行 LXD 容器和在 Ubuntu Server 上运行 LXD 容器没有区别。 请注意,默认情况下,在 LXD 容器中运行的 Web 服务器无法从主机外部访问。您需要将端口从主机转发到容器,或将容器直接连接到主机网络并为其分配主机网络上的 IP。

classic快照可能对您也有用。经典快照是一整套 Ubuntu 服务器,打包成一个 snap 包。你可以使用aptsnap 包内的东西进行安装。请参见以下示例:

$ sudo snap install --beta --devmode classic
$ sudo classic
(classic)ubuntu@localhost:~$ sudo apt update
...
(classic)ubuntu@localhost:~$ exit

默认情况下,经典 snap 中的 webserver 可以从外部访问。但是,经典 snap 中不会启动守护进程,退出经典 snap 时所有正在运行的后台二进制文件都会停止。

答案2

您可以按snap install lxd原样安装 lxd snapapt install不是Ubuntu Core 支持。要安装其他应用程序,您可以-

  • 将它们打包成快照
  • 运行 Ubuntu LXD 容器并安装其中的所有内容
  • 安装classicsnap 包并安装里面的所有东西

相关内容