Установка Pouch Container Engine в Ubuntu 20.04 | 18.04 и CentOS 7
PouchContainer — это контейнерная технология с открытым исходным кодом от Alibaba. Как и Docker, PouchContainer использует технологию изображений. Образ контейнера — это легкий автономный исполняемый пакет программного обеспечения, который включает в себя все необходимое для запуска приложения: код, среду выполнения, системные инструменты, системные библиотеки и настройки.
PouchContainer имеет следующие особенности:
PouchContainer включает режим: он имеет функции и функции контейнера, которые могут быть расширены для поддержки более широкого диапазона требований, таких как мониторинг состояния работоспособности, потоки, стек, конкуренция блокировок, статистика сетевых сообщений и информация о конфигурации. rich container
Изоляция : технология охватывает высокие принципы изоляции и безопасности, такие как контейнерная технология на основе гипервизора, lxcfs, дисковая квота каталога, исправленное ядро Linux и т. Д.
При крупномасштабном развертывании в пакете-контейнере используется Dragonfly, система распределения на основе P2P, которая значительно увеличивает скорость распределения контейнеров.
Контейнер Pouch имеет много преимуществ по сравнению с традиционными технологиями виртуальных машин. Давайте рассмотрим некоторые из интересных:
1. Удобство использования ресурсов
Приложения, работающие в PouchContainer, могут минимизировать использование хранилища с помощью многоуровневой структуры изображений. Он также позволяет инкрементное распространение образов, что, в свою очередь, снижает потребление полосы пропускания по сравнению с устаревшими технологиями виртуальных машин.
2. Ориентация на приложения
PouchContainer обеспечивает доставку приложений между платформами и ОС. Это стало возможным благодаря сильной технике изоляции времени выполнения приложения.
Как установить PouchContainer в Ubuntu:
Предпосылки :
PouchContainer работает рука об руку с LXCFS для изоляции. LXCFS — это файловая система пользовательского пространства, используемая при реализации контейнеров.
Нам нужно заранее установить LXCFS, чтобы PouchContainer работал на нашем сервере Ubuntu:
sudo apt-get install lxcfs
Установите пакеты, которые позволят aptitude использовать репозиторий через HTTPS:
sudo apt-get install curl apt-transport-https ca-certificates software-properties-common
Следующим шагом будет добавление официального ключа GPG PouchContainer:
curl -fsSL http://mirrors.aliyun.com/opsx/pouch/linux/debian/opsx@service.alibaba.com.gpg.key | sudo apt-key add -
Добавьте репозиторий PouchContainer на свой сервер Ubuntu:
sudo add-apt-repository "deb http://mirrors.aliyun.com/opsx/pouch/linux/debian/ pouch stable"
Установите последнюю версию PouchContainer:
sudo apt-get update
sudo apt-get install pouch
Start and enable PouchContainer
sudo systemctl start pouch
sudo systemctl enable pouch
Теперь у нас есть PouchContainer, успешно развернутый на сервере Ubuntu. Позже в этой статье мы рассмотрим некоторые из основных команд PouchContainer.
Как установить PouchContainer на CentOS 7
Обратите внимание, что PouchContainer нельзя установить вместе с Docker в одном экземпляре. Если у вас есть работающая служба Docker и вы хотите установить PouchContainer, удалите Docker перед установкой PouchContainer.
Следующие шаги помогут вам установить PouchContainer на экземпляр с CentOS 7.
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 создает группу «пакет», в которую не добавлены пользователи. Только пользователь root имеет монопольный доступ к любой группе пользователей.
4. Запустите PouchContainer.
sudo systemctl start pouch
sudo systemctl enable pouch
Чтобы запускать команды пакета с пользователями без полномочий root, нам нужно добавить пользователя в группу пакетов:
Добавить пользователя в группу
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.
Развертывание простого приложения Nginx на PouchContainer
Как упоминалось ранее, он совместим с образами докеров.
Скачиваем образ nginx и запускаем контейнер nginx:
pouch run --name webserver -p 80:80 -d nginx
Эта команда загружает образ nginx из репозитория докеров и запускает контейнер с именем «веб-сервер».
Контейнер имеет внутренний порт 80, сопоставленный с портом 80 сервера.
Чтобы проверить, запущен ли контейнер:
pouch ps -a
Результат должен быть следующим:
[root@f4abc5c8966b: ~]# pouch ps -a
Name ID Status Created Image Runtime
webserver ad50b8 created 13 seconds ago registry.hub.docker.com/library/nginx:latest runc
Nginx теперь может быть доступен на 80-м порту хоста:
Для запуска собственных команд в контейнере используйте 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. Pouch pull
Использование: pouch pull <images
>
[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
Использование: pouch run -it <images
>
Эта команда используется для создания контейнера из изображения
[root@pouch ~]# pouch run -it ubuntu
[root@pouch ~]:/#
Показать список локально сохраненных изображений пакетов
pouch images
3. Остановите контейнер-пакет:
Сначала остановите контейнер, используя синтаксис:
pouch stop <container>
# Example
pouch stop webserver
4. Удалить контейнер.
Чтобы удалить контейнер, используйте синтаксис команды:
pouch rm <container>
Например
pouch rm webserver
5. pouch commit
Применение:
docker commit <conatainer id> <username/imagename>
T
Эта команда создает новый образ редактируемого контейнера в локальной системе.
Конфигурация Pouch Daemon
С помощью файла конфигурации демона пользователь может установить флаги для 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-file
Формат времени выполнения
Если пользователь хочет добавить больше среды выполнения в 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
Как удалить pouch
В Ubuntu:
sudo apt-get purge pouch
На CentOS
sudo yum remove pouch
После выполнения команды удаления изображения, контейнеры, тома или файлы настраиваемой конфигурации на вашем хосте не удаляются автоматически. Чтобы удалить все изображения, контейнеры и тома, выполните следующую команду:
sudo rm -rf /var/lib/pouch
Заключение
PouchContainer — одна из лучших контейнерных технологий. Он имеет много преимуществ по сравнению с устаревшей технологией виртуальных машин и имеет множество функций, которые вам действительно хотелось бы изучить. Мы расскажем о других функциях PouchContainer в других статьях на этом сайте. Не стесняйтесь оставлять сообщение, если у вас есть какие-либо предложения по технологии или если у вас возникнут какие-либо проблемы в процессе установки.