Ir para seção

O que é Skopeo?

Copiar URL

Skopeo é uma ferramenta usada para manipular, inspecionar, assinar e transferir imagens de container e repositórios de imagem em sistemas Linux®, Windows e MacOS. Como o Podman e o Buildah, o Skopeo é um projeto open source voltado para a comunidade que não exige executar um daemon de container.

Com o Skopeo, você pode inspecionar imagens em um registro remoto sem precisar baixar toda a imagem com todas as suas camadas, tornando-a uma solução modular e lightweight para trabalhar com imagens de container em diferentes formatos, incluindo Open Container Initiative (OCI) e imagens Docker.

Uma imagem de container é um arquivo com código executável que pode ser executado em um processo isolado. Esses arquivos consistem em duas partes:

arquivo tar

A primeira parte é um ou mais arquivos tar do sistema de arquivos do container. Um arquivo tar é uma coleção de arquivos e o diretório de sistema de arquivos contém todos os códigos e arquivos de configuração necessários para executar uma aplicação.

arquivo JSON

A segunda parte consiste em arquivos JSON, que descrevem a aplicação, oferecem configuração do desenvolvedor sobre como executar o container, transmitem dados entre a aplicação e o servidor e armazenam metadados sobre os componentes individuais da imagem e como se referir a eles.

Um repositório de containers é um grupo de imagens de container com diferentes versões de uma aplicação, e um registro de containers é um servidor que oferece acesso a imagens ou a capacidade de fazer upload de novas imagens. 

O Skopeo (grego para "visualização remota") foi a primeira ferramenta de container desenvolvida pelos engenheiros da Red Hat em conjunto com a comunidade open source. Ele trabalha com o Podman e o Buildah para gerenciar containers de OCI. Simplificando, o Podman executa containers, o Buildah cria containers e o Skopeo transporta containers, entre outras coisas. Pense nessas ferramentas como um canivete suíço para o seu ambiente de containers. O Skopeo é uma lâmina cega e versátil à sua disposição.

Ele inspeciona imagens com o comando skopeo inspect. Antes do Skopeo, para inspecionar uma imagem era necessário extrai-la inteira, mesmo se o objetivo fosse apenas inspecionar alguns metadados. O comando de inspeção do Skopeo mostra as propriedades da imagem, incluindo camadas, tags de imagem e rótulos, para que você não precise levar a imagem ao host. Dessa forma, você reúne informações sobre um repositório ou uma tag sem usar nada da sua capacidade. 

O Skopeo também permite excluir uma imagem de um repositório e sincronizar um repositório de imagens externo a um registro interno para obter implantações mais seguras de rede desconectada (também conhecida como isolada). Quando exigido pelo repositório, o Skopeo pode passar as credenciais e os certificados adequados para autenticação.  

A sincronização do Skopeo permite cópias diretas de registro para registro para uso online, bem como registro para arquivos e arquivos para registro para preparar ambientes desconectados. Diferentemente da cópia do skopeo, que assume que a cópia solicitada exige ação, a sincronização do skopeo foi ajustada para ser mais rápida em ressincronizações regulares de grandes repositórios com poucas modificações. Além do uso direto da linha de comando, a operação de sincronização pode ser configurada em um arquivo config e que permita a sincronização de apenas um subconjunto de tags de um repositório grande.

Se a inspeção mostrar a necessidade de copiar uma imagem de container de um tipo de local ou armazenamento para outro, é possível fazer isso com o comando de cópia do Skopeo. A ferramenta permite copiar imagens de container entre registros como docker.io, quay.io e seu registro de containers interno ou vários mecanismos de armazenamento no seu sistema local. A cópia direta de registro para registro do Skopeo é rápida e preserva a forma não modificada (e o resumo manifesto da imagem) se o registro de destino permitir. Não é necessário usar nenhum disco local ou ter espaço livre em um disco local para copiar imagens entre registros. O Skopeo também se move entre o armazenamento de plataformas de containers e mesmo entre diretórios. Ele é usado com frequência em sistemas de CI/CD para manter os registros de container atualizados e manter o armazenamento em servidores de container.

Ferramentas flexíveis

O Skopeo faz parte de um conjunto modular de ferramentas de container que oferece muitas vantagens. Introduzir mudanças significativas em uma ferramenta monolítica sem corrompê-la para os usuários atuais pode ser um desafio. Ferramentas menores e mais especializadas como Skopeo, Podman e Buildah podem ser aprimoradas com mais rapidez. Com um conjunto de ferramentas, você pode se concentrar em um único objetivo, e novas ferramentas podem ser adicionadas para aumentar a funcionalidade ou experimentar ideias e arquiteturas que podem ser incompatíveis com as ferramentas atuais. Ferramentas menores e mais modulares também são mais fáceis de proteger.

Da mesma maneira como partes da funcionalidade do Podman vêm da biblioteca libpod que permite que o código seja compartilhado com outras ferramentas, a funcionalidade do Skopeo também é implementada em uma biblioteca. A biblioteca de imagens/container do Skopeo é compartilhada por outras ferramentas de container, incluindo Podman, Buildah e CRI-O, além de ser compatível com a interface de linha de comando (CLI) do Docker. 

Segurança e acessibilidade

As principais vantagens de usar o Podman, o Skopeo e o Buildah juntos incluem:

  • Gerenciamento de containers sem raiz. Os usuários podem criar, executar e gerenciar containers sem exigir processos com privilégios de administrador, tornando seu ambiente de containers mais acessível e reduzindo riscos de segurança.
  • Arquitetura sem daemon. Daemons exigem acesso administrativo (ao mesmo tempo em que ignoram a necessidade de verificação de administrador) para ler arquivos, instalar programas, editar aplicações e muito mais. Isso torna os daemons o alvo ideal para hackers que querem controlar seus containers e se infiltrar no sistema de host. 
  • Integração nativa de systemd. Com o uso do Podman e de ferramentas de container associadas, você pode criar arquivos unitários do systemd e executar containers como serviços de sistema.

Kubernetes 

O Kubernetes é uma plataforma de orquestração de containers open source que automatiza grande parte dos processos manuais necessários para implantar, gerenciar e escalar aplicações em containers. Se você executar um sistema de CI/CD dentro do Kubernetes ou usar o Red Hat OpenShift® para criar suas imagens de container, pode ser necessário distribuir essas imagens em diferentes registros de container. O Skopeo é a ferramenta ideal para isso.

Computação de alto desempenho

Os usuários executando um sistema operacional mais antigo no sistema de host podem querer executar o Skopeo ou outras ferramentas para aproveitar as funcionalidades e atualizações mais recentes. Em ambientes de computação de alto desempenho (HPC), é comum que os usuários sem raiz não tenham permissão para instalar pacotes no host. Com o aumento da popularidade do Podman em HPC, basta alguns comandos para executar o container do Skopeo com o Podman para realizar tarefas específicas. Além disso, os usuários não precisam de acesso raiz. 

O Red Hat Enterprise Linux simplifica o desenvolvimento de containers com menos repositórios e mais ferramentas de desenvolvedor. As ferramentas de container como Podman, Buildah e Skopeo estão inclusas na subscrição do Red Hat Enterprise Linux e formam uma base forte para dar suporte às suas necessidades de container e imagem de container. Além dessas ferramentas, a Red Hat oferece imagens base que funcionam como um alicerce para suas próprias imagens. 

Execute, crie e compartilhe imagens de container com as ferramentas de linha de comando do Red Hat Enterprise Linux, a imagem base universal (UBI), o repositório no Red Hat Quay e o repositório complementar, que reduzem a dificuldade de desenvolver containers.

Leitura recomendada

ARTIGO

Containers x máquinas virtuais

Os containers Linux e as máquinas virtuais são ambientes de computação empacotados que combinam vários componentes de TI e os isolam do restante do sistema.

ARTIGO

O que é orquestração de containers?

A orquestração automatiza a implantação, o gerenciamento, a escala e a rede dos containers.

ARTIGO

O que é um container Linux?

Um container Linux é um conjunto de processos isolados do sistema. Esses processos são executados a partir de uma imagem distinta que oferece todos os arquivos necessários a eles.

Leia mais sobre o Red Hat Enterprise Linux

Soluções Red Hat

Uma plataforma estável e comprovada, versátil o suficiente para lançar novas aplicações, virtualizar ambientes e criar uma nuvem híbrida mais segura.

Conteúdo adicional

Qual a melhor subscrição do Red Hat Enterprise Linux para o meu caso?

Leia o guia de subscrições do Red Hat Enterprise Linux e escolha a melhor subscrição para seu caso de uso. Aprenda a gerenciá-la e aproveite ao máximo todos os benefícios oferecidos.

Treinamentos Red Hat

Treinamento gratuito

Red Hat Enterprise Linux Technical Overview