Instale o Pouch Container Engine no Ubuntu/CentOS 7
PouchContainer é uma tecnologia de contêiner de código aberto da Alibaba. Assim como o Docker, o PouchContainer utiliza a tecnologia de imagem. Uma imagem de contêiner é um pacote de software leve, independente e executável que inclui tudo o que é necessário para executar um aplicativo: código, tempo de execução, ferramentas do sistema, bibliotecas e configurações do sistema.
PouchContainer possui os seguintes recursos:
O PouchContainer inclui um modo container rico
: possui recursos e funções de um contêiner que podem ser estendidos para suportar uma gama mais ampla de requisitos, como monitoramento de status de integridade, threads, pilha , contenção de bloqueio, estatísticas de mensagens de rede e informações de configuração.
Isolamento: A tecnologia adota princípios de alto isolamento e segurança, como tecnologia de contêiner baseada em hipervisor, lxcfs, cota de disco de diretório, kernel Linux corrigido, etc.
Em uma implantação em larga escala, o contêiner tipo bolsa utiliza o Dragonfly, umsistema de distribuição baseado em P2P que aumenta a taxa de distribuição de contêineres com uma margem enorme.
O PouchContainer é compatível com Kubernetes, de modo que você pode migrar facilmente de um tempo de execução do Kubernetes para o PouchContainer.
O contêiner tipo bolsa tem muitas vantagens em relação às tecnologias VM tradicionais. Vamos explorar alguns dos mais interessantes:
1. Recursos amigáveis
Os aplicativos executados no PouchContainer podem minimizar o uso de armazenamento com uma estrutura de imagem em camadas. Ele também permite a distribuição incremental de imagens, o que, por sua vez, economiza o consumo de largura de banda em comparação com tecnologias legadas de VM.
O PouchContainer fornece entrega de aplicativos entre plataformas e sistemas operacionais. Isso é possível com a forte técnica de isolamento do tempo de execução do aplicativo.
Instale o Container Container no Ubuntu 22.04|20.04|18.04
O PouchContainer trabalha lado a lado com o LXCFS para isolamento. LXCFS é um sistema de arquivos de espaço de usuário usado na implementação de contêineres.
Precisamos instalar o LXCFS previamente, para que o PouchContainer seja executado em nosso servidor Ubuntu:
sudo apt update
sudo apt install lxcfs
Instale pacotes que permitirão ao aptitude usar um repositório via HTTPS:
sudo apt install curl apt-transport-https ca-certificates software-properties-common
A próxima etapa é adicionar a chave GPG oficial do PouchContainer:
curl -fsSL http://mirrors.aliyun.com/opsx/pouch/linux/debian/[email | sudo apt-key add -
Adicione o repositório PouchContainer ao seu servidor Ubuntu:
sudo add-apt-repository "deb http://mirrors.aliyun.com/opsx/pouch/linux/debian/ pouch stable"
Instale a versão mais recente do PouchContainer:
sudo apt update
sudo apt install pouch
Iniciar e ativar o PouchContainer
sudo systemctl start pouch
sudo systemctl enable pouch
Agora temos o Pouch Container implantado com sucesso no servidor Ubuntu. Exploraremos alguns dos comandos básicos do PouchContainer posteriormente neste artigo.
Como instalar o PouchContainer no CentOS 7
Observe que o PouchContainer não pode ser instalado junto com o Docker na mesma instância. Se você tiver um serviço Docker em execução e desejar instalar o PouchContainer, desinstale o Docker antes de instalar o PouchContainer.
As etapas abaixo irão guiá-lo sobre como instalar o PouchContainer em uma instância executando o CentOS 7
1. Instale os utilitários yum
sudo yum install -y yum-utils
2. Configure os repositórios do PouchContainer em seu servidor Centos 7 e atualize o sistema:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/opsx/opsx-centos7.repo
sudo yum update
3.Instale o PouchContainer
sudo yum install pouch
O PouchContainer cria uma ‘bolsa’ de grupo sem nenhum usuário adicionado a ela. Somente o usuário root tem acesso exclusivo a qualquer grupo de usuários.
sudo systemctl start pouch
sudo systemctl enable pouch
Para executar comandos do pouch com usuários não-root, precisamos adicionar o usuário ao grupo do pouch:
Adicionar usuário ao grupo
sudo gpasswd -a $USER pouch
Uso do mecanismo de contêiner PouchContainer
O PouchContainer possui uma arquitetura cliente/servidor. Neste caso, existem duas linhas de comando que são emitidas dependendo do contexto:
pouchd: a daemon side binary to run as a server;
pouch: a client side binary to run as a client.
Implantando um aplicativo Nginx simples no PouchContainer
Conforme mencionado anteriormente, é compatível com imagens docker.
Faremos download da imagem nginx e executaremos um contêiner nginx:
pouch run --name webserver -p 80:80 -d nginx
Este comando baixa a imagem nginx do repositório docker e inicia o contêiner chamado ‘webserver’.
O contêiner possui uma porta interna 80 mapeada para a porta 80 do servidor.
Para verificar se o contêiner está em execução:
pouch ps -a
A saída deve ser a seguinte:
[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
O Nginx agora pode estar acessível na porta 80 do host:
Para executar comandos nativos em um contêiner, use pouch exec:
$ pouch exec -it <container> [command]
# Example
$ pouch exec -it webserver /bin/bash
Comandos básicos de gerenciamento do PouchContainer
Outros comandos básicos de uso do PouchContainer incluem:
$ 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. Puxar bolsa
Uso: puxador de bolsa
[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. corrida de bolsa
Uso: bolsa run -it
Este comando é usado para criar um contêiner a partir de uma imagem
[root@pouch ~]# pouch run -it ubuntu
root@f4abc5c8966b:/#
Mostrar lista de imagens de bolsas armazenadas localmente
pouch images
3. Pare o recipiente da bolsa:
Pare o contêiner primeiro usando a sintaxe:
pouch stop <container>
# Example
pouch stop webserver
4. Remover contêiner
Para remover um contêiner use a sintaxe do comando:
pouch rm <container>
por exemplo
pouch rm webserver
5. commit de bolsa
Uso:
docker commit <conatainer id> <username/imagename>
Este comando cria uma nova imagem de um contêiner editado no sistema local
Configuração do Daemon de bolsa
Com o arquivo de configuração do daemon, um usuário pode definir sinalizadores para o pouchd: uma ferramenta de linha de comando do lado do servidor.
Com o PouchContainer, existem duas maneiras de os usuários passarem sinalizadores para o daemon:
- Executando o pouchd diretamente com sinalizadores especificados, por exemplo,
pouchd -c /var/run/containerd.sock
, - Usando o arquivo de configuração do daemon.
Os sinalizadores do Pouchd podem ser encontrados em https://github.com/alibaba/pouch/blob/master/docs/commandline/pouchd.md
Configurando o arquivo de configuração do pouchd:
Recomenda-se aos usuários definir o sinalizador do daemon por meio do arquivo de configuração do daemon, o caminho padrão para o arquivo de configuração é /etc/pouch/config.json
, você pode alterá-lo configurando o valor de --config- arquivo
Formato de tempo de execução
Se o usuário quiser adicionar mais tempo de execução ao pouchd, adicione como:
{
"add-runtime": {
"runc": {
"path": "/usr/local/bin/runc",
"runtimeArgs": [
"--debug"
]
}
}
}
Etapas para configurar o arquivo de configuração
- Instalar o PouchContainer
- Edite o arquivo de configuração do daemon, como:
{
"image-proxy": "http://127.0.0.1:65001",
"debug": false
}
3. Inicie o serviço de bolsa:
systemctl start pouch
Como desinstalar a bolsa
No Ubuntu:
sudo apt-get purge pouch
No CentOS
sudo yum remove pouch
Depois de executar o comando remove, imagens, contêineres, volumes ou arquivos de configuração customizados em seu host não serão removidos automaticamente. Para excluir todas as imagens, contêineres e volumes, execute o seguinte comando:
sudo rm -rf /var/lib/pouch
Conclusão
PouchContainer é uma das melhores tecnologias de contêineres. Ele tem muitas vantagens sobre a tecnologia de VM legada e muitos recursos que você realmente gostaria de explorar. Abordaremos mais recursos do PouchContainer em outros artigos deste site. Fique à vontade para deixar uma mensagem se tiver alguma sugestão sobre a tecnologia ou se encontrar algum problema durante o processo de instalação.