在 Ubuntu/CentOS 7 上安装 Pouch 容器引擎 |
PouchContainer是阿里巴巴开源的容器技术。就像Docker一样,PouchContainer也利用了镜像技术。容器镜像是一个轻量级的、独立的、可执行的软件包,其中包括运行应用程序所需的一切:代码、运行时、系统工具、系统库和设置。
PouchContainer具有以下功能:
PouchContainer 包含 富容器
模式:这种模式具有容器的特性和功能,可以扩展以支持更广泛的需求,例如健康状态监控、线程、堆栈、锁争用、网络消息统计和配置信息。
隔离:该技术遵循高度隔离和安全原则,例如基于虚拟机管理程序的容器技术、lxcfs、目录磁盘配额、修补的Linux内核等。
在大规模部署中,袋式集装箱采用了Dragonfly,这是一种基于P2P的配送系统,可以大幅提高集装箱配送率。
PouchContainer 与 Kubernetes 兼容,因此您可以轻松地从一个 Kubernetes 运行时迁移到 PouchContainer。
与传统 VM 技术相比,Pouch 容器具有许多优势。让我们探索一些有趣的:
1. 资源友好
在 PouchContainer 上运行的应用程序可以通过分层图像结构最大限度地减少存储使用量。它还允许增量映像分发,从而与传统 VM 技术相比节省了带宽消耗。
2.面向应用
PouchContainer提供跨平台、跨操作系统的应用程序交付。这是通过强大的应用程序运行时隔离技术实现的。
在 Ubuntu 22.04|20.04|18.04 上安装 Pouch 容器
PouchContainer 与 LXCFS 携手进行隔离。 LXCFS 是用于容器实现的用户空间文件系统。
我们需要预先安装 LXCFS,以便 PouchContainer 在我们的 Ubuntu 服务器上运行:
sudo apt update
sudo apt install lxcfs
安装允许 aptitude 通过 HTTPS 使用存储库的软件包:
sudo apt install curl apt-transport-https ca-certificates software-properties-common
下一步是添加 PouchContainer 的官方 GPG 密钥:
curl -fsSL http://mirrors.aliyun.com/opsx/pouch/linux/debian/[email | sudo apt-key add -
将 PouchContainer 存储库添加到您的 Ubuntu 服务器:
sudo add-apt-repository "deb http://mirrors.aliyun.com/opsx/pouch/linux/debian/ pouch stable"
安装最新版本的 PouchContainer:
sudo apt update
sudo apt install pouch
启动并启用 PouchContainer
sudo systemctl start pouch
sudo systemctl enable pouch
现在我们已经在 Ubuntu 服务器上成功部署了 Pouch Container。我们将在本文后面探讨一些基本的 PouchContainer 命令。
如何在 CentOS 7 上安装 PouchContainer
请注意,PouchContainer 不能与 Docker 一起安装在同一实例上。如果您有正在运行的 Docker 服务并希望安装 PouchContainer,请在安装 PouchContainer 之前卸载 Docker。
以下步骤将指导您如何在运行 CentOS 7 的实例上安装 PouchContainer
1.安装 yum 实用程序
sudo yum install -y yum-utils
2.将 PouchContainer 存储库配置到 Centos 7 服务器并更新系统:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/opsx/opsx-centos7.repo
sudo yum update
3.安装PouchContainer
sudo yum install pouch
PouchContainer 创建一个组“pouch”,但未添加任何用户。只有 root 用户对任何用户组具有独占访问权限。
4.启动 PouchContainer
sudo systemctl start pouch
sudo systemctl enable pouch
要使用非 root 用户运行 pouch 命令,我们需要将用户添加到 pouch 组:
将用户添加到群组
sudo gpasswd -a $USER pouch
PouchContainer 容器引擎使用情况
PouchContainer具有客户端/服务器的架构。在这种情况下,根据上下文发出两个命令行:
pouchd: a daemon side binary to run as a server;
pouch: a client side binary to run as a client.
在 PouchContainer 上部署简单的 Nginx 应用程序
正如前面提到的,它与 docker 镜像兼容。
我们将下载 nginx 镜像并运行 nginx 容器:
pouch run --name webserver -p 80:80 -d nginx
此命令从 docker 存储库下载 nginx 映像并启动名为“webserver”的容器。
容器有一个内部端口 80 映射到服务器的端口 80。
验证容器是否正在运行:
pouch ps -a
输出应如下所示:
[root@pouch ~]# pouch ps -a
Name ID Status Created Image Runtime
webserver ad50b8 created 13 seconds ago registry.hub.docker.com/library/nginx:latest runc
现在可以在主机的 80 端口上访问 Nginx:
要在容器上运行本机命令,请使用 pouch exec:
$ pouch exec -it <container> [command]
# Example
$ pouch exec -it webserver /bin/bash
PouchContainer基本管理命令
其他 PouchContainer 基本使用命令包括:
$ pouch version
Version: 1.3.0
APIVersion: 1.24
Arch: amd64
BuildTime: 2019-06-13T11:25:25+00:00
GitCommit: 1.3.0
GoVersion: go1.10.4
KernelVersion: 3.10.0-1127.el7.x86_64
Os: linux
1. 拉袋
用法:拉袋<图片>
[root@pouch ~]# pouch pull ubuntu
registry.hub.docker.com/library/ubuntu:latest: resolved |++++++++++++++++++++++++++++++++++++++|
index-sha256:bc2f7250f69267c9c6b66d7b6a81a54d3878bb85f1ebb5f951c896d13e6ba537: done |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:2e70e9c81838224b5311970dbf7ed16802fbfe19e7a70b3cbfa3d7522aa285b4: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:b6a83d81d1f4f942d37e1f17195d9c519969ed3040fc3e444740b884e44dec33: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:d72e567cc804d0b637182ba23f8b9ffe101e753a39bf52cd4db6b89eb089f13b: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:0f3630e5ff08d73b6ec0e22736a5c8d2d666e7b568c16f6a4ffadf8c21b9b1ad: done |++++++++++++++++++++++++++++++++++++++|
config-sha256:9140108b62dc87d9b278bb0d4fd6a3e44c2959646eb966b86531306faa81b09b: done |++++++++++++++++++++++++++++++++++++++|
elapsed: 12.3s total: 27.2 M (2.2 MiB/s)
2. 跑袋
用法: pouch run -it
该命令用于从镜像创建容器
[root@pouch ~]# pouch run -it ubuntu
root@f4abc5c8966b:/#
显示本地存储的造口袋图像列表
pouch images
3. 停止造袋容器:
首先使用语法停止容器:
pouch stop <container>
# Example
pouch stop webserver
4. 移除容器
要删除容器,请使用命令语法:
pouch rm <container>
例如
pouch rm webserver
5. 袋提交
用法 :
docker commit <conatainer id> <username/imagename>
此命令在本地系统上创建已编辑容器的新映像
邮袋守护进程配置
使用守护程序配置文件,用户可以为 pouchd 设置标志:服务器端命令行工具。
使用 PouchContainer,用户可以通过两种方式将标志传递给守护进程:
- 使用指定的标志直接运行 pouchd,例如 pouchd -c /var/run/containerd.sock,
- 使用守护程序配置文件。
Pouchd 标志可以在 https://github.com/alibaba/pouch/blob/master/docs/commandline/pouchd.md 找到
配置 pouchd 配置文件:
建议用户通过守护进程配置文件设置守护进程标志,配置文件默认路径为/etc/pouch/config.json
,您可以通过设置--config-的值来更改它文件
运行时格式
如果用户想向 pouchd 添加更多运行时,请添加:
{
"add-runtime": {
"runc": {
"path": "/usr/local/bin/runc",
"runtimeArgs": [
"--debug"
]
}
}
}
配置配置文件的步骤
- 安装 PouchContainer
- 编辑守护进程配置文件,例如:
{
"image-proxy": "http://127.0.0.1:65001",
"debug": false
}
3. 启动邮袋服务:
systemctl start pouch
如何卸下袋子
在Ubuntu上:
sudo apt-get purge pouch
在 CentOS 上
sudo yum remove pouch
运行删除命令后,主机上的映像、容器、卷或自定义配置文件不会自动删除。要删除所有映像、容器和卷,请执行以下命令:
sudo rm -rf /var/lib/pouch
结论
PouchContainer 是最好的容器技术之一。与传统虚拟机技术相比,它具有许多优势,并且具有许多您真正想要探索的功能。我们将在本网站的其他文章中介绍 PouchContainer 的更多功能。如果您对技术有什么建议,或者安装过程中遇到任何问题,欢迎留言。