- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我安装了 docker,但 ubuntu 产品似乎是开源软件,并没有打破我的钱包做同样的事情,但 docker 似乎更兼容谷歌云?我不确定 LXD,但我将它安装在带有安装帮助指南的包管理器中,但我不确定部署或如何在 ubuntu 云与谷歌云上部署模型。我希望我能在某处找到图形关系。
最佳答案
主要区别在于 Docker 提供应用程序容器,而 LXD 提供系统容器。
应用程序容器是帮助您运行应用程序、网络服务或类似事物的容器。完成应用程序后,Docker 将终止。
使用 LXD,您可以创建与虚拟机非常相似的系统容器。系统容器是 Linux 发行版运行时,当您启动它时,您选择的 Linux 发行版正在启动。它会一直运行,直到您将其关闭。与 VM 不同,系统容器不运行自己的 Linux 内核。它重用了主机的 Linux 内核。即使您在 Ubuntu 主机上启动了 Fedora 系统容器,Fedora 系统容器也在 Ubuntu Linux 内核上运行(感谢 Linux 内核的稳定 API)。
下面是一个创建系统容器的例子,安装nginx
,然后访问 Web 服务器。如果要使用 Docker 执行此操作,则需要创建或查找一些 Dockerfile。由于您使用的是传统的 Linux 管理命令,因此您可以自由地测试您想要的任何命令。就像使用虚拟机一样。
在下文中,我使用 Ubuntu 20.04 创建了一个名为 mycontainer 的系统容器(支持所有主要的 Linux 发行版)。然后,我在系统容器中得到一个 shell 并更新包列表。随后,我安装nginx
.我从容器中注销并检查容器的 IP 地址。最后,我从主机访问该网站。如果我在主机上运行 Firefox,我可以从 Firefox 访问 Web 服务器。
$ lxc launch ubuntu:20.04 mycontainer
Creating mycontainer
Starting mycontainer
$ lxc shell mycontainer
root@mycontainer:~# apt update && apt install -y nginx
...
root@mycontainer:~# lsof -i :www
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
nginx 1470 root 6u IPv4 297609 TCP *:http (LISTEN)
nginx 1470 root 7u IPv6 297610 TCP *:http (LISTEN)
nginx 1471 www-data 6u IPv4 297609 TCP *:http (LISTEN)
nginx 1471 www-data 7u IPv6 297610 TCP *:http (LISTEN)
nginx 1472 www-data 6u IPv4 297609 TCP *:http (LISTEN)
nginx 1472 www-data 7u IPv6 297610 TCP *:http (LISTEN)
nginx 1473 www-data 6u IPv4 297609 TCP *:http (LISTEN)
nginx 1473 www-data 7u IPv6 297610 TCP *:http (LISTEN)
nginx 1474 www-data 6u IPv4 297609 TCP *:http (LISTEN)
nginx 1474 www-data 7u IPv6 297610 TCP *:http (LISTEN)
root@mycontainer:~# logout
$ lxc list mycontainer
+-------------+---------+--------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+-------------+---------+--------------------+------+-----------+-----------+
| mycontainer | RUNNING | 10.10.10.92 (eth0) | | CONTAINER | 0 |
+-------------+---------+--------------------+------+-----------+-----------+
$ curl 10.10.10.92
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
...
$ lxc stop mycontainer
$ lxc delete mycontainer
就像使用虚拟机一样,您还可以获取系统容器以从 LAN 获取 IP 地址。还有许多其他的东西,比虚拟机轻得多。
关于docker - Canonical LXD 容器软件和 docker 容器软件之间的主要区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65818957/
连接到 LXD 时出现以下错误: Error: Get http://unix.socket/1.0: dial unix /var/snap/lxd/common/lxd/unix.socket:
我正在尝试通过本教程在我的 Ubuntu 上安装 LXD https://docs.conjure-up.io/devel/en/user-manual#users-of-lxd其中说我必须遵循以下步
我正在使用 LXD 创建一个 Ubuntu 容器: lxd launch ubuntu first 当我收到此错误时: error : Error calling 'lxd forkstart /va
由于我想启动多个虚拟机,LXD 似乎是有效的 choice 但作为 docker,LXD 似乎没有那么热闹, 最初的想法,我已经使用LXC创建启动一个测试容器,并安装了mongodb数据库,至少mon
我正在设置 LXD 来玩魔术。我希望存储仅安装在我的 RAID 设备上,因此最好删除默认存储或替换/重定向它。 我无法删除默认存储,因为默认配置文件使用它。 我如何使用 RAID 存储并确保它没有使用
我有一个 Ubuntu 16.04 LTS 系统,我在其中创建了 3 个 LXD 容器。他们在那里工作得很好。系统在没有意外停止容器的情况下被重置。现在它们处于错误状态,我无法启动它们。当我尝试启动它
我在磁盘上有一个目录,归 share 所有gid 为 1001 .我想将该目录添加为其中一个 lxc 容器上的设备,并让该组结转。 我试过使用 raw.idmap 'gid 1001 1001'但是如
我已经查遍了,但不知道有没有办法。我有几个在 Ubuntu 14.04 主机上运行 Ubuntu 14.04 的 LXC 容器。它们对我来说变得非常重要,因此,如果主机的硬件发生故障,我希望能够轻松地
有没有办法在 Docker 中运行 LXD?例如。 在装有 ubuntu 16.04 的主机上: docker run --rm -it --net host --privileged ubuntu
我最近开始尝试 LXD 容器,并遇到了一个我似乎无法修复的基本障碍。 我无法在容器内运行和apt更新 ubuntu@dev:~$ lxc exec adil-php5 -- apt update ..
使用 Xvfb 可以轻松在 LXD 容器(ubuntu:16.04)内运行 GUI 应用程序并在容器内执行以下命令: Xvfb -ac :99 -screen 0 1600x900x24 & expo
如何在nodejs下通过unix套接字域连接到LXD API?我尝试以下代码但失败了。我得到了这个答案:HTTP/1.1 400 错误请求 var net = require('net'); var
我正在执行“ Geting started with Juju”步骤。 作为前提条件,我已经安装了LXD和ZFS。 root@d9574a01cb50:/# which lxd /usr/bin/lx
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我想在 zfs 数据集中创建一个卷: sudo zfs create mypool/maildir sudo lxc storage volume create mypool/maldir custo
我安装了 docker,但 ubuntu 产品似乎是开源软件,并没有打破我的钱包做同样的事情,但 docker 似乎更兼容谷歌云?我不确定 LXD,但我将它安装在带有安装帮助指南的包管理器中,但我不确
在 MAAS 中设置 LXD 集群时遇到问题 你好!我一直在与 maas 合作尝试设置 LXD 集群。 设置 马斯 Controller : Dell Optiplex(没什么特别的,只是我身边有一台
我正在本地服务器上使用 VMware ESXi 设置裸机管理程序,该服务器将具有 kubernetes 集群。 我应该将 Linux 容器与 一起使用吗? LXD 设置我的 Kubernetes 集群
我正在运行带有 LXD 容器的最新 Ubuntu (16.10)。容器配置有桥接网络,它们从 DHCP 服务器接收自己的 IP 地址。我为它们配置了以下内容: lxc 配置文件设备添加默认 eth0
当我运行以下命令时: 我得到以下输出: 但我只想获取命令中指定的容器而不是所有容器。 我该怎么做? 最佳答案 您可以使用 POSIX 扩展正则表达式: lxc list -c n '^ubuntu$'
我是一名优秀的程序员,十分优秀!