Установка Pouch Container Engine в Ubuntu 20.04 | 18.04 и CentOS 7

Установка 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 пользователи могут передавать флаги демону двумя способами:

  1. Запуск pouchd напрямую с указанными флагами, например pouchd -c /var/run/containerd.sock,
  2. Использование файла конфигурации демона.

Флаги 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"
            ]
        }
    }
}

Шаги по настройке файла конфигурации

  1. Установить PouchContainer
  2. Отредактируйте файл конфигурации демона, например:
{
    "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 в других статьях на этом сайте. Не стесняйтесь оставлять сообщение, если у вас есть какие-либо предложения по технологии или если у вас возникнут какие-либо проблемы в процессе установки.