我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么在LXD容器中运行Ubuntu Core

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么在LXD容器中运行Ubuntu Core

本篇内容主要讲解“怎么在LXD容器中运行Ubuntu Core”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在LXD容器中运行Ubuntu Core”吧!

LXD 就是一个提供了 REST API 的 LXC 容器管理器,LXD 最主要的目标就是使用 Linux 容器而不是硬件虚拟化向用户提供一种接近虚拟机的使用体验。

怎么在LXD容器中运行Ubuntu Core

环境需求

就 LXD 而言,Ubuntu Core 仅仅相当于另一个 Linux 发行版。也就是说,snapd 需要挂载无特权的 FUSE 和 AppArmor 命名空间以及软件栈,像下面这样:

  1. 一个新版的使用 Ubuntu 官方内核的系统
  2. 一个新版的 LXD

创建一个 Ubuntu Core 容器

当前 Ubuntu Core 镜像发布在社区的镜像服务器。你可以像这样启动一个新的容器:

stgraber@dakara:~$ lxc launch images:ubuntu-core/16 ubuntu-coreCreating ubuntu-coreStarting ubuntu-core

这个容器启动需要一点点时间,它会先执行第一阶段的加载程序,加载程序会确定使用哪一个镜像(镜像是只读的),并且在系统上设置一个可读层,你不要在这一阶段中断容器执行,这个时候什么都没有,所以执行lxc exec 将会出错。

几秒钟之后,执行 lxc list 将会展示容器的 IP 地址,这表明已经启动了 Ubuntu Core:

stgraber@dakara:~$ lxc list+-------------+---------+----------------------+----------------------------------------------+------------+-----------+|     NAME    |  STATE  |          IPV4        |                      IPV6                    |    TYPE    | SNAPSHOTS |+-------------+---------+----------------------+----------------------------------------------+------------+-----------+| ubuntu-core | RUNNING | 10.90.151.104 (eth0) | 2001:470:b368:b2b5:216:3eff:fee1:296f (eth0) | PERSISTENT | 0         |+-------------+---------+----------------------+----------------------------------------------+------------+-----------+

之后你就可以像使用其他的交互一样和这个容器进行交互:

stgraber@dakara:~$ lxc exec ubuntu-core bashroot@ubuntu-core:~# snap listName       Version     Rev  Developer  Notescore       16.04.1     394  canonical  -pc         16.04-0.8   9    canonical  -pc-kernel  4.4.0-45-4  37   canonical  -root@ubuntu-core:~#

更新容器

如果你一直关注着 Ubuntu Core 的开发,你应该知道上面的版本已经很老了。这是因为被用作 Ubuntu LXD 镜像的代码每隔几个月才会更新。Ubuntu Core 系统在重启时会检查更新并进行自动更新(更新失败会回退)。

如果你想现在强制更新,你可以这样做:

stgraber@dakara:~$ lxc exec ubuntu-core bashroot@ubuntu-core:~# snap refreshpc-kernel (stable) 4.4.0-53-1 from 'canonical' upgradedcore (stable) 16.04.1 from 'canonical' upgradedroot@ubuntu-core:~# snap versionsnap 2.17snapd 2.17series 16root@ubuntu-core:~#然后重启一下 Ubuntu Core 系统,然后看看 snapd 的版本。root@ubuntu-core:~# rebootroot@ubuntu-core:~#stgraber@dakara:~$ lxc exec ubuntu-core bashroot@ubuntu-core:~# snap versionsnap 2.21snapd 2.21series 16root@ubuntu-core:~#

你也可以像下面这样查看所有 snapd 的历史记录:

stgraber@dakara:~$ lxc exec ubuntu-core snap changesID  Status  Spawn                 Ready                 Summary1   Done    2017-01-31T05:14:38Z  2017-01-31T05:14:44Z  Initialize system state2   Done    2017-01-31T05:14:40Z  2017-01-31T05:14:45Z  Initialize device3   Done    2017-01-31T05:21:30Z  2017-01-31T05:22:45Z  Refresh all snaps in the system

安装 Snap 软件包

以一个最简单的例子开始,经典的 Hello World:

stgraber@dakara:~$ lxc exec ubuntu-core bashroot@ubuntu-core:~# snap install hello-worldhello-world 6.3 from 'canonical' installedroot@ubuntu-core:~# hello-worldHello World!

接下来让我们看一些更有用的:

stgraber@dakara:~$ lxc exec ubuntu-core bashroot@ubuntu-core:~# snap install nextcloudnextcloud 11.0.1snap2 from 'nextcloud' installed

之后通过 HTTP 访问你的容器就可以看到刚才部署的 Nextcloud 实例。

如果你想直接通过 git 测试最新版 LXD,你可以这样做:

stgraber@dakara:~$ lxc config set ubuntu-core security.nesting truestgraber@dakara:~$ lxc exec ubuntu-core bashroot@ubuntu-core:~# snap install lxd --edgelxd (edge) git-c6006fb from 'canonical' installedroot@ubuntu-core:~# lxd initName of the storage backend to use (dir or zfs) [default=dir]:We detected that you are running inside an unprivileged container.This means that unless you manually configured your host otherwise,you will not have enough uid and gid to allocate to your containers.LXD can re-use your container's own allocation to avoid the problem.Doing so makes your nested containers slightly less safe as they couldin theory attack their parent container and gain more privileges thanthey otherwise would.Would you like to have your containers share their parent's allocation (yes/no) [default=yes]?Would you like LXD to be available over the network (yes/no) [default=no]?Would you like stale cached images to be updated automatically (yes/no) [default=yes]?Would you like to create a new network bridge (yes/no) [default=yes]?What should the new bridge be called [default=lxdbr0]?What IPv4 address should be used (CIDR subnet notation, “auto” or “none”) [default=auto]?What IPv6 address should be used (CIDR subnet notation, “auto” or “none”) [default=auto]?LXD has been successfully configured.

已经设置过的容器不能回退版本,但是可以在 Ubuntu Core 16 中运行另一个 Ubuntu Core 16 容器:

root@ubuntu-core:~# lxc launch images:ubuntu-core/16 nested-coreCreating nested-coreStarting nested-coreroot@ubuntu-core:~# lxc list+-------------+---------+---------------------+-----------------------------------------------+------------+-----------+|    NAME     |  STATE  |         IPV4        |                       IPV6                    |    TYPE    | SNAPSHOTS |+-------------+---------+---------------------+-----------------------------------------------+------------+-----------+| nested-core | RUNNING | 10.71.135.21 (eth0) | fd42:2861:5aad:3842:216:3eff:feaf:e6bd (eth0) | PERSISTENT | 0         |+-------------+---------+---------------------+-----------------------------------------------+------------+-----------+

到此,相信大家对“怎么在LXD容器中运行Ubuntu Core”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么在LXD容器中运行Ubuntu Core

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么在LXD容器中运行Ubuntu Core

本篇内容主要讲解“怎么在LXD容器中运行Ubuntu Core”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在LXD容器中运行Ubuntu Core”吧!LXD 就是一个提供了 REST A
2023-06-27

怎么使Ubuntu Tweak运行在Windows XP中

本篇内容介绍了“怎么使Ubuntu Tweak运行在Windows XP中”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!看图后再说话:XP的
2023-06-16

怎么在Windows上运行Linux容器

这篇文章主要讲解了“怎么在Windows上运行Linux容器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Windows上运行Linux容器”吧!1、概述现在能够在 Windows 1
2023-06-16

怎么在Windows上运行Linux 容器

这篇文章给大家介绍怎么在Windows上运行Linux 容器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。现在所有的Windows 10 和 Windows 服务器都能很好的支持Docker 容器,Docker 容器主
2023-06-28

怎么在ubuntu上运行代码

在Ubuntu上运行代码可以使用以下几种方式:1. 使用终端命令行运行代码:在终端中输入代码的执行命令,例如Python代码可以使用`python your_code.py`命令运行。2. 使用集成开发环境(IDE)运行代码:在Ubuntu
2023-08-24

在老机器上怎么加速运行Ubuntu Linux

这篇文章主要介绍“在老机器上怎么加速运行Ubuntu Linux”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“在老机器上怎么加速运行Ubuntu Linux”文章能帮助大家解决问题。在我们动手提高U
2023-06-28

怎么在CentOS或Fedora上运行Docker容器

这篇文章主要讲解了“怎么在CentOS或Fedora上运行Docker容器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在CentOS或Fedora上运行Docker容器”吧!最近 Do
2023-06-10

怎么在老机器上加速运行Ubuntu Linux

这篇文章给大家分享的是有关怎么在老机器上加速运行Ubuntu Linux的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。不管你的Ubuntu 13.10系统是重新安装的或是从以前旧版本升级的,在使用了一段时间后,你
2023-06-16

docker怎么停止运行中的容器

要停止运行中的Docker容器,可以使用以下命令:1. 查看正在运行的容器列表:```docker ps```2. 停止指定的容器:```docker stop ```例如:```docker stop my-container```如果容
2023-10-09

ubuntu怎么查看正在运行的程序

在Ubuntu中,可以使用以下命令来查看正在运行的程序:使用top命令:在终端中输入`top`,然后按下回车键,会显示当前正在运行的程序的进程列表。按下键盘上的q键可以退出top命令。使用ps命令:在终端中输入`ps aux`,然后按下
2023-10-25

Docker怎么查看正在运行的容器目录

这篇文章主要介绍了Docker怎么查看正在运行的容器目录的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker怎么查看正在运行的容器目录文章都会有所收获,下面我们一起来看看吧。起因为了方便操作服务器,大部分
2023-07-05

LXC容器怎么在Ubuntu系统中使用

这篇文章将为大家详细讲解有关LXC容器怎么在Ubuntu系统中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Ubuntu 下安装 LXC使用下面的命令安装 LXC 在用户态的工具:复制代
2023-06-07

ubuntu中怎么安装java运行环境

这篇文章主要介绍“ubuntu中怎么安装java运行环境”,在日常操作中,相信很多人在ubuntu中怎么安装java运行环境问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ubuntu中怎么安装java运行环境
2023-07-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录