lxc lxd_如何在LXC和LXD中使用Linux容器

2023-05-16

lxc lxd

In the good old days, installing an operating system meant pulling together all the hardware components, firing your new computer up with an installation disk in a peripheral drive, and setting the installation process loose do its thing. The total elapsed time could run anywhere between hours and weeks.

在过去的好日子里,安装操作系统意味着将所有硬件组件放在一起,将新计算机与外围驱动器中的安装盘一起启动,并使安装过程变得松散。 总耗时可以在数小时到数周之间不等。

These days I can say to myself "I wouldn't mind testing that on a server running a particular version of CentOS" and - depending on a number of variables and assuming the original image has already been downloaded - I can have a fully-functioning virtual system ready within 30 seconds. Your exact results may vary, but not by that much.

这些天,我可以对自己说:“我不介意在运行特定版本CentOS的服务器上进行测试”,并且-根据许多变量并假设已经下载了原始映像-我可以拥有功能齐全的在30秒内准备好虚拟系统。 您的确切结果可能有所不同,但相差不大。

You can see how all this works in my new Pluralsight "Linux System Optimization" course - on which this article is based.

您可以在本文所基于的新的Pluralsight“ Linux系统优化”课程中了解所有这些方法。

What's been driving all this change? Virtualization. And, in particular, container virtualization.

是什么推动了所有这些变化? 虚拟化。 尤其是容器虚拟化。

A virtualized OS is a file system containing all the software libraries, binaries, and configuration files you would need to launch a traditional machine. It's just that this particular file system isn't stored in the root or boot partition that your computer would read as it powers on, but on some other part of your storage volume.

虚拟操作系统是一个文件系统,其中包含启动传统计算机所需的所有软件库,二进制文件和配置文件。 只是这个特定的文件系统没有存储在计算机开机时会读取的根分区或引导分区中,而是存储在存储卷的其他部分。

And "powering up" your virtual computer happens when some software cleverly fools the files into thinking they're running all by themselves on their own hardware, when they're really sharing space and resources with the host operating system and, perhaps, some other virtual computers.

当某些软件巧妙地愚弄文件以使其认为它们完全在自己的硬件上运行时,与主机操作系统以及其他可能共享空间和资源的虚拟机时,就会“启动”虚拟计算机。虚拟计算机。

Broadly speaking, there are two kinds of software systems used for server virtualization administration: hypervisor and container.

广义上讲,用于服务器虚拟化管理的软件系统有两种:虚拟机管理程序和容器。

Hypervisors provide a layer of abstraction that permits guest VMs to create an isolated environment with access to the system hardware that emulates a bare metal server. This means that hypervisor VMs can be built from any operating system compatible with your underlying hardware. But it also means that they'll use up more space and more memory and compute resources.

系统管理程序提供了一个抽象层,该层允许来宾VM创建隔离的环境,并可以访问模拟裸机服务器的系统硬件。 这意味着可以从与基础硬件兼容的任何操作系统中构建虚拟机监控程序VM。 但这也意味着他们将占用更多的空间,更多的内存和计算资源。

容器虚拟化 (Container Virtualization)

Containers, on the other hand, share the host computer's OS kernel and exist within carefully secured and isolated spaces managed by system tools like cgroups. Because they share the kernel, the memory and system resources consumed by containers can be truly minimal, with absolutely nothing wasted. And, as you'll see, the speeds you'll get running container applications will be breathtaking.

另一方面,容器共享主机计算机的OS内核,并存在于由cgroups等系统工具管理的精心保护和隔离的空间内。 因为它们共享内核,所以容器消耗的内存和系统资源可以真正减少到最小,绝对没有浪费。 而且,您将看到,运行容器应用程序的速度将令人叹为观止。

A lot of container-related attention over the past few years has been focused on Docker and, more recently, Google's container orchestration tool, Kubernetes. In fact, Kubernetes is well suited for enterprise-scale microservices architectures.

过去几年中,与容器相关的很多关注都集中在Docker上,最近,谷歌的容器编排工具Kubernetes也得到了关注。 实际上,Kubernetes非常适合企业级微服务架构。

But there's an older and, arguably, more mature implementation of the container model that hasn't gone anywhere. The Linux Container Project, LXC, and its more recent toolset, LXD, have strengths that many would argue make it a better candidate for some use cases than Kubernetes. In particular, LXC excels at building light and fast sandboxed environments for testing and application development.

但是,容器模型有一个较旧的,可以说是更成熟的实现,它没有任何地方可用。 Linux容器项目LXC及其最新的工具集LXD具有许多人认为比Kubernetes更适合某些用例的优势。 特别是,LXC擅长为测试和应用程序开发构建轻便,快速的沙盒环境。

In this article, I'm going to show you how to install LXD, how to prepare and launch a simple container running the ultra-small Alpine Linux, and then how to open a shell session within your new container. I'll also explain how to find and launch multiple versions of other distributions.

在本文中,我将向您展示如何安装LXD,如何准备和启动运行超小型Alpine Linux的简单容器,以及如何在新容器中打开Shell会话。 我还将说明如何查找和启动其他发行版的多个版本。

One thing I can tell you right away is that whenever I teach LXC, students respond with amazement at how powerful and efficient using containers can be.

我可以立即告诉您的一件事是,每当我教LXC时,学生都会惊讶地意识到使用容器的强大和高效。

When we're done with all this, you'll be able to fire up machines to hands-on test out whatever it is you're learning or working within seconds. When an experiment goes bad, you can instantly shutdown and remove a container and build another one to replace it. There's simply no longer any excuse not to learn.

当我们完成所有这些工作后,您就可以启动计算机,在几秒钟内动手测试您正在学习或正在研究的内容。 如果实验失败了,您可以立即关闭并卸下一个容器,然后建造另一个容器来替换它。 根本不再有任何不学习的借口。

建造LXD集装箱 (Building LXD Containers)

We're going to get LXC running working on a fresh install of an Ubuntu 18.04 machine. In this demo, we'll install and initialize an LXD environment and then use the LXD version of the LXC command line interface to download and launch an Alpine Linux container. We'll confirm everything worked and then take a bit of a look around to see how the environment is populated.

我们将使LXC在全新安装的Ubuntu 18.04计算机上运行。 在此演示中,我们将安装并初始化LXD环境,然后使用LXC命令行界面的LXD版本下载并启动Alpine Linux容器。 我们将确认一切正常,然后再四处看看以了解环境的填充方式。

I'm going to use the snap package manager to install LXD because that's now the official recommendation. And not just for LXD, mind you: all kinds of applications are drifting to alternate managers like snap or AppImmage and Flatpak. I still love my Debian aptitude, but you can't fight the whole world.

我将使用快照软件包管理器来安装LXD,因为现在这是官方建议。 不仅限于LXD,还请注意:各种应用程序都在转移到备用管理器,例如snap或AppImmage和Flatpak。 我仍然爱我的Debian才能,但是你不能与全世界抗争。

$ sudo snap install lxd

LXD - which, again, is an updated toolset designed to manage the LXC API - comes in a package that includes all the regular LXC dependencies. One install command and we're done.

LXD(又是用于管理LXC API的更新工具集)包含在包含所有常规LXC依赖项的软件包中。 一个安装命令,我们完成了。

It's important to initialize the LXC environment using the lxd init command. You could set things up yourself manually, but you're more likely to get it all right this way. The init process will ask you a bunch of questions and, for now at least, the default answers will all work.

使用lxd init命令初始化LXC环境非常重要。 您可以自己手动设置,但是更可能以这种方式解决。 初始化过程将询问您很多问题,并且至少到目前为止,默认答案都可以使用。

$ sudo lxd init

Once that's done, we're ready to build your first container. Whichever Linux distribution and version we want, we'll need to find and download the image. The LXC project maintains a repository of quite a range of images at images.linuxcontainers.org. You can see that there are usually multiple versions of each distro, permitting you to build containers that'll work with just about any software you can throw at it.

完成后,我们就可以构建您的第一个容器。 无论我们想要哪个Linux发行版和版本,我们都需要查找并下载该映像。 LXC项目在images.linuxcontainers.org上维护了很多图像的存储库。 您可以看到每个发行版通常有多个版本,从而允许您构建可以与几乎所有可以投放到其上的软件一起使用的容器。

I'm going to use the latest version of Alpine Linux because it's really small. Feel free to use any image you like - including the big boys like Ubuntu and CentoOS. Alpine, of course, will download very quickly.

我将使用最新版本的Alpine Linux,因为它确实很小。 随意使用任何您喜欢的映像-包括像Ubuntu和CentoOS这样的大男孩。 当然,Alpine将很快下载。

But before we do that, I should tell you how to figure out the command line syntax necessary to get your image.

但是在我们这样做之前,我应该告诉您如何弄清楚获取图像所需的命令行语法。

As you can see in this screen shot from the LXD website, you can get three pieces of information you'll need from the page itself: the name of the distro - Alpine, in this case - the release number - 3.10 - and the architecture. We're after amd64.

从LXD网站的此屏幕快照中可以看到,您可以从页面本身获取三点信息:发行版的名称-Alpine(在这种情况下-发行版编号-3.10)以及体系结构。 我们追求amd64。

We're now ready to trigger the download by running the launch command:

现在,我们准备通过运行launch命令来触发下载:

$ sudo lxc launch images:alpine/3.10/amd64 demo

Notice how the syntax is "lxc" even though this is technically an LXD interface. "images" tells LXC that our image lives in the public repo we saw earlier. Our three bits of data - the distro name, release number, and architecture, are entered separated by forward slashes. I'll use "demo" as the name of my container. That should be all we need.

请注意,即使从技术上讲这是LXD接口,语法也是如此“ lxc”。 “图像”告诉LXC我们的图像存在于我们之前看到的公共回购中。 输入我们的三位数据-发行版名称,发行版号和体系结构,并用正斜杠分隔。 我将使用“ demo”作为容器的名称。 那应该是我们所需要的。

You can see how small Alpine is by how quickly it downloads. My internet connection isn't that fast and I haven't played any games with the recording. To confirm that it worked, I'll run "lxc ls" to list all the containers currently installed. There's just the one. And its current status is "running".

您可以通过下载速度来了解Alpine的大小。 我的互联网连接速度不是那么快,并且我还没有玩过带有录音的游戏。 为了确认它是否有效,我将运行“ lxc ls”以列出当前安装的所有容器。 只有一个。 其当前状态为“正在运行”。

sudo lxc ls
+------+---------+----------------------+------------+-----------+
| NAME |  STATE  |         IPV4         |    TYPE    | SNAPSHOTS |
+------+---------+----------------------+------------+-----------+
| demo | RUNNING | 10.125.45.119 (eth0) | PERSISTENT | 0         |
+------+---------+----------------------+------------+-----------+

You can open a non-login root session in a container using the "lxc exec" command. Just specify the container name and then tell LXC that you want to run a shell using the sh interpreter (you might prefer /bin/bash if you're working with an Ubuntu or CentOS container - your call either way). As you'll be able to see for yourself if you're following along at home, we've got a normal Linux command prompt and anything Linux-y is now possible.

您可以使用“ lxc exec”命令在容器中打开非登录根会话。 只需指定容器名称,然后告诉LXC您想使用sh解释器运行shell(如果您使用的是Ubuntu或CentOS容器,则可能更喜欢/bin/bash -无论哪种方式调用)。 因为您可以自己查看是否在家中跟随,所以我们有一个正常的Linux命令提示符,并且现在可以执行任何Linux-y了。

$ sudo lxc exec demo sh
~ #

You could also run a single command without opening a full shell by typing the command instead of this sh.

您也可以通过键入命令而不是sh来运行单个命令而无需打开完整的外壳。

$ sudo lxc exec demo ls /
bin    etc    lib    mnt    proc   run    srv    tmp    var
dev    home   media  opt    root   sbin   sys    usr

You can bail out of the shell any time you like using exit and return to your host. Here, besides listing running containers, I can also list any storage pools. The default pool that was created during initialization is there, and we can see where the disk image is stored. /var/lib/lxd is, by default, where all LXC resources are kept.

您可以在需要退出时随时exit外壳并返回主机。 在这里,除了列出正在运行的容器外,我还可以列出任何存储池。 初始化期间创建的默认池在那里,我们可以看到磁盘映像的存储位置。 默认情况下,/ var / lib / lxd是保留所有LXC资源的位置。

$ sudo lxc storage ls
+---------+-------------+--------+--------------------------------+---------+
|  NAME   | DESCRIPTION | DRIVER |             SOURCE             | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| default |             | btrfs  | /var/lib/lxd/disks/default.img | 3       |
+---------+-------------+--------+--------------------------------+---------+

I can similarly list all my networks. There happen to be a few network bridges on this system (I've been playing around a bit, as you can see). There's also the physical enp0s3 bridge used by the host Ubuntu server. Although between you and me, that one's not physical either, as this is actually a VM running in Oracle's Virtual Box.

我可以类似地列出我的所有网络。 这个系统上碰巧有一些网桥(如您所见,我一直在玩一些)。 主机Ubuntu服务器还使用了物理enp0s3桥。 尽管在您我之间,但那也不是物理上的,因为这实际上是在Oracle Virtual Box中运行的VM。

$ lxc network ls
+---------+----------+---------+-------------+---------+
|  NAME   |   TYPE   | MANAGED | DESCRIPTION | USED BY |
+---------+----------+---------+-------------+---------+
| enp0s3  | physical | NO      |             | 1       |
+---------+----------+---------+-------------+---------+
| lxdbr0  | bridge   | YES     |             | 1       |
+---------+----------+---------+-------------+---------+
| mynet   | bridge   | YES     |             | 0       |
+---------+----------+---------+-------------+---------+
| testbr0 | bridge   | YES     |             | 1       |
+---------+----------+---------+-------------+---------+

If we needed to, we could easily add a new virtual interface to our container using the "lxc network attach" command. Here, I'll specify the physical network and then the name of our container.

如果需要,我们可以使用“ lxc networkattach”命令轻松地将新的虚拟接口添加到我们的容器中。 在这里,我将指定物理网络,然后指定容器的名称。

$ lxc network attach enp0s3 demo

With that done, you could open a new shell in the container to see what's changed. There should now be an eth1 interface listed. You may need to reboot for all the changes to take full effect. By doing that you can also marvel at just how fast this thing can reboot itself - for all intents and purposes, it'll happen faster than you can type your exec command to open a new shell.

完成此操作后,您可以在容器中打开新的外壳以查看更改。 现在应该列出了eth1接口。 您可能需要重新引导才能使所有更改完全生效。 通过这样做,您还可以惊叹于此东西可以自动重启的速度-出于所有目的和目的,它发生的速度比键入exec命令打开新Shell的速度要快。

Enjoy your new environment!

享受您的新环境!

This article is based on content in my Pluralsight course, "Linux System Optimization." There's much more administration goodness in the form of books, courses, and articles available at bootstrap-it.com.

本文基于我的Pluralsight课程“ Linux System Optimization”中的内容。 bootstrap-it.com上提供了书籍,课程和文章形式的管理优势。

翻译自: https://www.freecodecamp.org/news/linux-containers-lxc-lxd/

lxc lxd

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

lxc lxd_如何在LXC和LXD中使用Linux容器 的相关文章

  • Ubuntu apt 使用代理

    由于一台 Ubuntu 主机无法直接连接外网 xff0c 但同内网的另一台 Windows 主机可以连接外网 xff0c 于是在 Win 主机上搭建了代理服务 xff0c 使 Ubuntu 主机通过代理更新系统 记录配置 apt 代理的方式
  • CIDR概述及其地址块计算

    CIDR概述 英文 xff1a Classless Inter Domain Routing xff0c 中文是 xff1a 无分类域间路由选择 一般叫做无分类编址 设计目的 xff1a 解决路由表项目过多过大的问题 表示法 xff1a l
  • Python基础之元组

    元组初识 元组的认识 首先 xff0c 我们来认识一下元组 xff1a 定义一个元组 uesr tuple 61 34 zhangsan 34 34 lisi 34 34 wangwu 34 定义一个空元组 empty tuple 61 元
  • 函数声明后面的const用法

    void function const 通常我们会看到一些函数声明后面会跟着一个const xff0c 这个const是做什么的呢 xff1f 看一下下面的例子 xff0c 就知道了 直接在编译前 xff0c 就会提示下面的两个错误 tes
  • 修复移动硬盘"文件或目录损坏且无法读取"

    今天使用移动硬盘的时候强制拔掉了数据线 xff0c 再此连上之后发现原来的F G H三个盘的盘符都在 xff0c 但是F盘只有盘符 xff0c 双击之后提示 34 文件或目录损坏且无法读取 34 而这个盘有我70G的数据 于是上网查资料 x
  • 维基百科的网址(没被墙)

    https en wikipedia org wiki Main Page
  • 初学者计算机_初学者极客:更改笔记本计算机盒盖时Windows的功能

    初学者计算机 Mihai Simonia Shutterstock com Mihai Simonia Shutterstock com Are you tired of your laptop automatically going to
  • 想要恢复回收站误删文件,就用EasyRecovery!

    不知道大家在日常工作中遇到回收站误删文件的情况吗 xff1f 遇到这样的情况 xff0c 不要慌张 xff0c 可以借助专业的数据恢复软件来处理 EasyRecovery软件是由全球著名数据厂商Kroll Ontrack出品的数据恢复软件
  • ubuntu 设置root用户密码并实现root用户登录

    一 xff1a 设置root用户密码 在ubuntu中root用户的密码是随机的 xff0c 所以需要我们自己起设置root用户的密码 在终端命令行中执行 sudo passwd 这时候会提示你输入当前用户密码 xff0c 输入成功之后 x
  • electron制作聊天界面(仿制qq)

    效果图 样式使用scss和flex布局 这也是制作IM系统的最后一个界面了 在制作之前参考了qq和千牛 需要注意的点 qq将滚动条美化了 而且在无操作的情况下是不会显示的 滚动条美化 webkit scrollbar 滚动条整体样式 wid
  • element-ui中的el-table滚动加载事件

    问题描述 xff1a 当表格数据量过多 xff0c 一次请求回来会很卡 xff0c 同时又不想分页的情况下 xff0c 我们想让鼠标滚动到表格底部时再去请求数据 解决思路 xff1a 项目用的是element ui的框架 xff0c 给el
  • OpenWRT配置IPV6

    准备材料 智博通 WG3526 路由器 MT7621A 16M ROM 512M RAM 中国移动光纤入户 Prefix Delegation前缀委托模式 刷机 OpenWRT 18 06 for ZBT WG3526 配置 etc con
  • chrome浏览器去掉打开新标签的常用地址缩略图

    chrome浏览器是我们最常用的浏览器 xff0c 但是打开标签后会显示历史的缩略图 有时别人借用我们的电脑 xff0c 或者开着电脑演示时 xff0c 这些浏览记录就会被展示出来 xff0c 总是感觉怪怪的 谷歌一番 xff0c 发现了关
  • cisco交换机如何查看CPU和内存使用情况,以及如何查看接口数据量

    switch4006 show processes cpu CPU utilization for five seconds 4 0 one minute 4 five minutes 4 PID Runtime ms Invoked uS
  • Remix OS PC硬盘版的安装方法。

    前言 大家好 xff0c 今天由我 xff0c 功能讨论区版主来给大家介绍一下Remix OS PC硬盘版的安装方法 开始之前大家需要明确几点 xff1a 0 你的电脑需要满足如下要求 xff08 仔细看清楚这个列表 xff0c 缺一不可
  • inline-block在360浏览器中的显示问题

    360浏览器不支持inline block效果 xff0c 在样式表中加入 display inline block zoom 1 display inline 就能达到display inline block的效果了 转载于 https
  • 个人团队贡献分+转会人员

    经过我们的商议 xff0c 个人团队贡献分如下分配 xff1a 黄杨 xff1a 33 王安然 xff1a 32 韩佳胤 xff1a 31 刘俊伟 xff1a 28 林璐 xff1a 29 谢伯炎 xff1a 30 谭传奇 xff1a 27
  • 如何在bash shell命令行中非常有效地搜索历史命令?

    How to search history commands very effectively in bash shell command line 如何在bash shell 命令行中非常有效地搜索历史命令 xff1f Just ente
  • GreenPlum 锁表以及解除锁定

    最近遇到truncate表 xff0c 无法清理的情况 xff0c 在master节点查看加锁情况 xff0c 并未加锁 这种情况极有可能是segment节点相关表加了锁 xff0c 所以遇到这种情况除了排查master节点的锁 xff0c
  • 使用 FreeRTOS 时注意事项总结(基础篇教程完结)

    以下转载自安富莱电子 xff1a http forum armfly com forum php FreeRTOS 的初始化流程 推荐的初始化流程如下 xff0c 本教程配套的所有例子都是采用的这种形式 xff0c 当然 xff0c 不限制

随机推荐

  • 使用Python实现Hadoop MapReduce程序

    为什么80 的码农都做不了架构师 xff1f gt gt gt 笔者的机器运行效果如下 xff08 输入数据是find的帮助手册 xff0c 和笔者预期一样 xff0c the是最多的 xff09 xff1a 以下是原帖 在这个实例中 xf
  • 解决vnc连接Linux出现X形

    编辑vnc配置文件 vnc xstartup如下 xff1a bin sh Uncomment the following two lines for normal desktop unset SESSION MANAGER exec et
  • 交换机 BootROM 下的升级配置

    实验十 交换机 BootROM 下的升级配置 一 实验目的 1 了解什么时候采用 BootROM 升级 xff1b 2 了解怎样使用 BootROM升级交换机 二 应用环境 当交换机的系统文件遭到破坏时 xff0c 已经无法进入正常的CLI
  • 如何利用 Visual Studio 自定义项目或工程模板

    在开发项目的时候 xff0c 由其是商业性质的大型项目时 xff0c 往往需要在每个代码文件上都加上一段关于版权 开发人员的信息 xff0c 并且名称空间上都需要带有公司的标志 这个时候 xff0c 是选择在开发的时候手动添加还是自动生成呢
  • vncserver和Ubuntu Xfce4远程桌面环境的配置,解决不显示图形界面

    vncserver和Ubuntu Xfce4远程桌面环境的配置 参考的http blog 163 com thinki cao blog static 83944875201303014531803 ubuntu用vnc连接后不显示图形界面
  • Windows平台下利用Fastcopy来做数据的定期同步

    FastCopy号称是Windows 平台上最快的文件拷贝 删除软件 xff0c 特别是文件超多 超大的情况下 为此我们在数据备份的时候选择FastCopy 但是 FastCopy如果直接来做计划任务的话会有一个问题 xff0c 因为打开的
  • 善用VS中的Code Snippet来提高开发效率

    前言 在谈谈VS中的模板中 xff0c 我介绍了如何创建项目 项模板 xff0c 这种方式可以在创建项目时省却不少重复性的工作 xff0c 从而提高开发效率 在创建好了项目和文件后 xff0c 就得开始具体的编码了 xff0c 这时又有了新
  • [git]merge和rebase的区别

    前言 我从用git就一直用rebase xff0c 但是新的公司需要用merge命令 xff0c 我不是很明白 xff0c 所以查了一些资料 xff0c 总结了下面的内容 xff0c 如果有什么不妥的地方 xff0c 还望指正 xff0c
  • 正则表达式python_Python的隐藏正则表达式宝石

    正则表达式python There are many terrible modules in the Python standard library but the Python re module is not one of them W
  • IP地址自动封与解封的shell脚本

    本脚本学习与阿铭的脚本课程 用于防止公司网站被DDos攻击时 xff0c 封禁 肉机 的IP地址 共分为以下步骤 xff1a 1 每分钟分析一次访问日志 data logs access log 2 把访问量超过100的IP给封掉 3 将封
  • 应用中抛出SELECT/UPDATE/INSERT/DELETE command denied to user 'XXX'@'XXX.XXX.XXX.XXX' for table 'xxx' 的5种原...

    实为吾之愚见 望诸君酌之 闻过则喜 xff0c 与君共勉 第一章 准备环境 创建数据测试数据 xff0c 以下测试多是基于自建mysql进行 mysql gt create database test1 Query OK 1 row aff
  • 数据标注的作用及行业现状

    在之前的内容中讲过确立一个算法模型需要使用大量标注好的数据去训练机器让机器去学习其中的特征以达到 智能 的目的 而数据标注就是帮助机器去学习去认知数据中的特征 比如我们要让机器学习认知汽车 xff0c 我们直接给机器一个汽车的图片它是无法识
  • 如何解决安卓手机显示google play服务停止运行?

    相信不少的安卓用户都遇到过这种情况 xff1a 很抱歉 xff0c google play服务 已停止运行 这到底是怎么一回事呢 xff1f 接下来就通过本文来给大家介绍一下 xff0c 我们一起往下看 xff01 其实呢 xff0c 这句
  • Failed to stop the server machine ' xxx.xxx'

    2019独角兽企业重金招聘Python工程师标准 gt gt gt arcgis for server 10 2 在部署新站点时抛出异常 xff1a Failed to create the site Failed to stop the
  • vue中使用jquery报错 $ is not defined

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 一 问题 is not defined 在使用Vs Code编写Vue应用的时候 xff0c 从页面中引入jquery后 xff0c 在 vue文件编写使用时 xff0c
  • 即将发布的 ASP.NET Core 2.2 会有哪些新玩意儿?

    今年 6 月份的时候时候 NET 团队就在 GitHub 公布了 ASP NET Core 2 2 版本的 Roadmap xff08 文末有链接 xff09 xff0c 而前两天 ASP NET Core 2 2 预览版 2 已经可以下载
  • 【three.js练习程序】随机生成100个方块

    lt DOCTYPE html gt lt html gt lt head gt lt meta charset 61 34 utf 8 34 gt lt title gt ceshi lt title gt lt script type
  • [转]你应该知道的CSS文字大小单位PX、EM、PT

    这里引用的是Jorux的 95 的中国网站需要重写CSS 的文章 xff0c 题目有点吓人 xff0c 但是确实是现在国内网页制作方面的一些缺陷 我一直也搞不清楚px与em之间的关系和特点 xff0c 看过以后确实收获很大 平时都是用px来
  • 实践这一次,彻底搞懂浏览器缓存机制

    前言 实践系列 主要是让我们通过实践去加深对一些原理的理解 实践系列 前端路由 实践系列 Babel原理 实践系列 Promises A 43 规范 有兴趣的同学可以关注 实践系列 求star求follow 如果觉得自己已经掌握浏览器缓存机
  • lxc lxd_如何在LXC和LXD中使用Linux容器

    lxc lxd In the good old days installing an operating system meant pulling together all the hardware components firing yo