❏ 站外平台:

在自己的电脑上实验容器和荚

作者: Seth Kenlon 译者: LCTT geekpi

| 2022-05-14 10:28   评论: 4    

通过这篇新的可下载指南开始探索容器技术的要领。

在电视剧 《太空堡垒卡拉狄加Battlestar Galactica》中,这艘名副其实的巨型飞船其实并没有做什么。它是船员们坚定的庇护所,是战略和协调的中心联络点,也是资源管理的安全场所。而 卡布里安毒蛇号Caprican Vipers 这种单人的独立太空船,出去对付邪恶的赛昂人Cylons和其他太空中的危险。他们也从不只派一两艘毒蛇号出去。他们派了很多。这许许多多的冗余的飞船具有基本相同的能力和目的,但由于它们非常灵活和数量众多,它们总是能够处理每个星期都在威胁战星的任何问题。

如果你认为你感到这像是一个正在发展中的比喻,那么你是对的。现代的“云”大而无当,是分布在很远距离的大量基础设施的集合体。它具有强大的能力,但如果你将其视为普通计算机,就会浪费了它的大部分能力。当你想要处理来自数百万个输入源的大量数据时,把你的解决方案(无论它是采用应用、网站、数据库、服务器还是其他形式)打包起来,并发送该解决方案的微小镜像来处理数据集群,实际上是更有效的。当然,这些都是 “容器container”,它们是云的劳动力。它们是你发送来处理服务请求的小型解决方案工厂,并且由于你可以根据任何给定时间传入的请求生成所需要的数量,因此理论上它们是取之不尽的。

在家里使用容器

如果你没有大量的传入请求需要处理,你可能会想知道容器给你带来什么好处。不过,在个人电脑上使用容器确实有其用途。

容器作为虚拟环境

通过 Podman、LXC 和 Docker 等工具,你可以像以往运行虚拟机一样运行容器。不过,与虚拟机不同,容器没有因模拟固件和硬件而产生的开销。

你可以从公共仓库下载容器镜像,启动一个最小化的 Linux 环境,并将其作为命令或开发的测试场所。例如,假设你想试试你在 Slackware Linux 上构建的一个应用。首先,在仓库中搜索一个合适的镜像:

$ podman search slackware

然后选择一个镜像,作为你的容器的基础:

$ podman run -it --name slackware vbatts/slackware
sh-4.3# grep -i ^NAME\= /etc/os-release
NAME=Slackware

在工作中使用容器

当然,容器不只是个精简的虚拟机。它们可以是针对为非常具体的需求提供的特定解决方案。如果你不熟悉容器,那么新系统管理员最常见的入门仪式之一可能会有所帮助:启动你的第一个 Web 服务器,但是在容器中。

首先,获取一个镜像。你可以使用 podman search 命令来搜索你喜欢的发行版,或者直接搜索你喜欢的 httpd 服务器。当使用容器时,我倾向于信任我在裸机上使用的相同发行版。

当你你找到一个镜像作为你的容器的基础,你就可以运行你的镜像。然而,正如这个术语所暗示的,容器是封起来的,所以如果你只是启动一个容器,你将无法访问标准的 HTTP 端口。你可以使用 -p 选项将一个容器端口映射到一个标准的网络端口:

$ podman run -it -p 8080:80 docker.io/fedora/apache:latest

现在看看你本地主机上的 8080 端口:

$ curl localhost:8080
Apache

成功了。

了解更多

容器拥有比模仿虚拟机更多的潜力。你可以将它们分组在 “pod” 中,构建复杂应用的自动部署,启动冗余服务以满足高需求等等。如果你刚刚开始使用容器,你可以 下载我们最新的电子书 来学习该技术,甚至学习创建一个 “pod”,以便你可以运行 WordPress 和数据库。

下载我们最新的电子书

(LCTT 译注:容器环境中使用的 “Pod” 一词,我以前根据容器相关术语多用航海领域名词比喻来将其译做“吊舱”,但也有同学表示了不同意见。根据对 Kubernetes 文档,这个词来自对鲸鱼荚pod of whales豌豆荚pea pod的比喻,所以我觉得采用“荚”的翻译比较合适。—— wxy)


via: https://opensource.com/article/22/5/containers-pods-101-ebook

作者:Seth Kenlon 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出



最新评论

[1]
来自四川成都的 Firefox 103.0|Mac 10.10 用户 发表于 2022-05-14 10:55 的评论:
我还是觉得全网普遍没有翻译的词,就不要翻译。

就像把 'Google Chrome' 译成 '谷歌铬',把 'Opera Browser' 译成 '歌剧浏览器'。
[2]
linux [Chrome 100.0|Mac 10.15] 发表于 2022-05-14 14:03 的评论:
我认为是如果是品牌名、产品名,如果没有官方译名,应该保留英文。
比如 Docker 、Kubernetes 我就不翻译,但是其内的术语,无论是 container、pod 我觉得应该翻译——否则的话,凭什么 container 要被翻译成容器,pod 就不该被翻译?标准是什么?
来自四川成都的 Firefox 103.0|Mac 10.16 用户 2022-05-14 15:43 9 回复
没什么标准,随大流。
几乎所有文章都在用 Pod 时,一小撮人译成 '荚',一小撮人译成 '吊舱',并不能形成共识,只是徒增混乱。
[1]
来自四川成都的 Firefox 103.0|Mac 10.10 用户 发表于 2022-05-14 10:55 的评论:
我还是觉得全网普遍没有翻译的词,就不要翻译。

就像把 'Google Chrome' 译成 '谷歌铬',把 'Opera Browser' 译成 '歌剧浏览器'。
来自四川成都的 Firefox 104.0|Windows 10 用户 2022-05-14 11:12 9 回复
想到了《攻夫》里的一个场景。

琛哥:打他
星爷:打他呀
琛哥:打她妈的
星爷:打啦
琛哥:打呀
星爷:打他呀
琛哥:打她妈的
星爷:你到底想我打他本人还是打他妈啊?你搞得我好乱啊
LCTT 译者
geekpi 💎💎💎💎
共计翻译: 2095.5 篇 | 共计贡献: 3750
贡献时间:2013-10-25 -> 2024-01-31
访问我的 LCTT 主页 | 在 GitHub 上关注我


返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。