Docker archivos » Aprende IT Todas as últimas notícias sobre IT Tue, 18 Jun 2024 22:03:00 +0000 pt-PT hourly 1 https://aprendeit.com/wp-content/uploads/2020/02/LOGO-CORTO-100x100.png Docker archivos » Aprende IT 32 32 Instale o Seu Próprio Servidor Wazuh no Ubuntu https://aprendeit.com/pt/instale-o-seu-proprio-servidor-wazuh-no-ubuntu/ https://aprendeit.com/pt/instale-o-seu-proprio-servidor-wazuh-no-ubuntu/#respond Sat, 27 Apr 2024 22:01:17 +0000 https://aprendeit.com/?p=6337 O Wazuh tornou-se uma ferramenta essencial para a gestão de segurança em sistemas de informação. Graças à sua capacidade de detetar intrusões, assegurar a integridade dos dados e monitorizar a ...

La entrada Instale o Seu Próprio Servidor Wazuh no Ubuntu se publicó primero en Aprende IT.

]]>
O Wazuh tornou-se uma ferramenta essencial para a gestão de segurança em sistemas de informação. Graças à sua capacidade de detetar intrusões, assegurar a integridade dos dados e monitorizar a segurança, muitas empresas e indivíduos optam por configurar o seu próprio servidor Wazuh. Aqui vou explicar como pode instalar e configurar o seu servidor Wazuh, passo a passo, sem usar listas ou enumerações complicadas.

O que é o Wazuh e Por Que Deve Usá-lo?

O Wazuh é uma plataforma de segurança de código aberto que fornece deteção de intrusões, monitorização de integridade, resposta a incidentes e auditoria de conformidade. A sua versatilidade torna-o ideal tanto para pequenas empresas quanto para grandes corporações. Além disso, sendo de código aberto, o Wazuh é completamente gratuito e permite modificações para atender a quaisquer necessidades específicas.

Preparações Iniciais Antes da Instalação

Antes de mergulhar na instalação do Wazuh, é crucial que prepare o seu sistema. Isso envolve garantir que o sistema operativo esteja atualizado e configurar o ambiente para suportar a instalação do Wazuh através do Docker. Eis como fazer isso:

Primeiro, é necessário desativar o firewall para impedir que interfira no processo de instalação. Para fazer isso, simplesmente execute no terminal:

ufw disable

Este comando desativará o firewall, garantindo que ele não bloqueie nenhuma das conexões necessárias durante a instalação.

Em seguida, deve garantir que todos os pacotes do sistema estejam atualizados e que o git esteja instalado, pois precisará dele para clonar o repositório do Wazuh. Execute:

apt update && apt install git

Com estes comandos, o seu sistema estará atualizado e pronto para a próxima fase.

Instalando o Docker

O Wazuh no Docker simplifica a gestão de dependências e garante que a plataforma possa funcionar de forma isolada e segura. Para instalar o Docker, pode usar o script fornecido pelo Docker, que configura tudo automaticamente:

curl -sSL https://get.docker.com/ | sh

Uma vez instalado o Docker, é essencial garantir que ele seja executado automaticamente na inicialização do sistema:

systemctl start docker
systemctl enable docker

Estes comandos iniciarão o serviço Docker e configurá-lo-ão para iniciar automaticamente a cada arranque do sistema.

Docker Compose

Se instalar o Docker conforme indicado anteriormente, não precisa instalar esta ferramenta, mas se já tem o Docker e ele não suporta “docker compose”, pode instalar o docker-compose assim:

curl -L "https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Os comandos seguintes que têm “docker compose” devem ser executados como docker-compose.

 

Configurando o Ambiente Wazuh

Com o Docker já configurado, o próximo passo é preparar o ambiente específico para o Wazuh. Dirija-se ao diretório ótimo para manter organizados os ficheiros relacionados à segurança:

cd /opt

Agora, é hora de clonar a versão mais recente do repositório Wazuh para Docker:

git clone https://github.com/wazuh/wazuh-docker.git -b v4.7.3

Este comando baixa todos os ficheiros necessários para executar o Wazuh num contêiner Docker.

Gerando Certificados e Iniciando o Wazuh

Antes de iniciar o Wazuh, deve gerar os certificados necessários para o bom funcionamento dos componentes do Wazuh. Navegue até o diretório correto e execute o gerador de certificados:

cd wazuh-docker/single-node/
docker compose -f generate-indexer-certs.yml run --rm generator

Com os certificados gerados, agora está pronto para iniciar todos os serviços Wazuh:

docker compose up -d

Este último comando levanta todos os contêineres necessários para o Wazuh operar corretamente num modo de único nó, ideal para ambientes de teste ou implementações pequenas.

Verificação da Instalação

Uma vez concluídos todos os passos anteriores, é importante verificar que tudo está a funcionar conforme esperado. Pode verificar o estado dos contêineres Docker para garantir que todos os serviços Wazuh estão ativos e a funcionar. Além disso, aceda à interface web do Wazuh para começar a explorar as funcionalidades e configurações disponíveis.

Personalização e Monitorização

Com o seu servidor Wazuh agora operacional, o próximo passo é personalizar a configuração para adaptá-la às suas necessidades específicas. O Wazuh oferece uma grande variedade de opções para configurar regras, alertas e respostas automáticas a incidentes. Aproveite a documentação disponível para explorar todas as possibilidades que o Wazuh oferece.

Instalar e configurar o seu próprio servidor Wazuh pode parecer uma tarefa complexa, mas seguindo estes passos, terá um sistema robusto de segurança informática sem necessidade de grandes investimentos. Não só melhorará a segurança da sua informação, mas também lhe fornecerá uma ferramenta poderosa para monitorizar e responder proativamente a qualquer incidente.

Mudança de Senha do Wazuh

Pare o serviço usando o Docker Compose:

docker compose down

Gerar o hash da nova senha usando o contêiner Wazuh:

Execute o seguinte comando para iniciar o script de hash:

docker run --rm -ti wazuh/wazuh-indexer:4.6.0 bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/hash.sh

Digite a nova senha quando solicitado e copie o hash gerado.

Atualize o ficheiro de utilizadores internos com o hash da nova senha:

Abra o ficheiro com um editor de texto como o vim:

vim config/wazuh_indexer/internal_users.yml

Cole o hash gerado para o utilizador admin.

Atualize o ficheiro docker-compose.yml com a nova senha:

Abra o ficheiro docker-compose.yml:

vim docker-compose.yml

Digite a nova senha nas linhas 24 e 81 onde diz INDEXER_PASSWORD.

Levante os serviços novamente com o Docker Compose:

docker compose up -d

Isso reinicia a pilha de serviços.

Acesse o contêiner e execute o script de segurança:

Acesse o contêiner:

docker exec -it single-node-wazuh.indexer-1 bash

Defina as variáveis e execute o script de segurança:

export INSTALLATION_DIR=/usr/share/wazuh-indexer
CACERT=$INSTALLATION_DIR/certs/root-ca.pem
KEY=$INSTALLATION_DIR/certs/admin-key.pem
CERT=$INSTALLATION_DIR/certs/admin.pem
export JAVA_HOME=/usr/share/wazuh-indexer/jdk
bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/securityadmin.sh -cd /usr/share/wazuh-indexer/opensearch-security/ -nhnv -cacert $CACERT -cert $CERT -key $KEY -p 9200 -icl

Saia do contêiner:

exit

Este processo permite-lhe atualizar a senha do admin para o Wazuh usando o Docker, assegurando que segue todos os passos corretamente para garantir que as alterações sejam eficazes.

La entrada Instale o Seu Próprio Servidor Wazuh no Ubuntu se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/instale-o-seu-proprio-servidor-wazuh-no-ubuntu/feed/ 0
Segurança de Contentores Docker: Melhores Práticas e Recomendações https://aprendeit.com/pt/seguranca-de-contentores-docker-melhores-praticas-e-recomendacoes/ https://aprendeit.com/pt/seguranca-de-contentores-docker-melhores-praticas-e-recomendacoes/#respond Fri, 11 Aug 2023 17:52:48 +0000 https://aprendeit.com/?p=5418 Olá, entusiasta da tecnologia! Se estás aqui, é provavelmente porque já ouviste falar bastante sobre o Docker e a importância de manter os nossos contentores seguros. Mas sabes como fazer ...

La entrada Segurança de Contentores Docker: Melhores Práticas e Recomendações se publicó primero en Aprende IT.

]]>
Olá, entusiasta da tecnologia! Se estás aqui, é provavelmente porque já ouviste falar bastante sobre o Docker e a importância de manter os nossos contentores seguros. Mas sabes como fazer isso? Se a resposta é não, estás no lugar certo. Hoje, vou guiar-te na descoberta das melhores práticas e recomendações para a segurança de contentores Docker. Vamos a isto!

Compreendendo a Importância da Segurança do Docker
Antes de nos aprofundarmos no mundo do Docker e na sua segurança, é fundamental perceber porque é tão crítico. O Docker revolucionou a forma como implantamos aplicações, tornando o processo mais eficiente. No entanto, como qualquer tecnologia, não está isento de vulnerabilidades. Um contentor Docker mal configurado pode ser uma porta de entrada para cibercriminosos. E como todos sabemos, mais vale prevenir do que remediar.

O Princípio do Mínimo Privilégio
Para começar, falemos do princípio do mínimo privilégio. É uma regra de ouro na segurança informática. A ideia é dar aos programas e processos apenas os privilégios de que realmente necessitam para desempenhar as suas funções. Nada mais.

No contexto do Docker, isso significa que deves evitar correr contentores com privilégios de root a menos que seja absolutamente necessário. Se um atacante conseguir aceder a um contentor com privilégios de root, poderia potencialmente controlar todo o sistema anfitrião. Por isso, sempre que possível, limita esses privilégios.

Imagens de Confiança
Agora, foquemo-nos nas imagens. São a base dos nossos contentores. Mas de onde as retiras? Nem todas as imagens disponíveis no Docker Hub são seguras. Algumas podem ter vulnerabilidades conhecidas ou até malware escondido.

Recomendo que utilizes apenas imagens de fontes fidedignas. Se possível, opta por imagens oficiais ou de fornecedores reconhecidos. E se decidires construir as tuas próprias imagens, certifica-te de que as manténs atualizadas e que segues boas práticas de segurança no seu design.

Análise de Vulnerabilidades
Vamos falar de ferramentas! Atualmente, existem soluções específicas para analisar contentores Docker em busca de vulnerabilidades. Estas ferramentas podem identificar problemas nas imagens antes de serem implantadas. É uma abordagem proativa para lidar com os riscos.

Aconselho-te a integrar estas análises no teu processo de integração e entrega contínua. Assim, sempre que preparares uma nova versão da tua aplicação, podes estar certo de que os contentores estão limpos e prontos para a ação.

Redes e Comunicações
Outro aspeto crucial é a rede. O Docker permite criar redes virtuais para que os teus contentores se comuniquem entre si. No entanto, nem todos os contentores devem comunicar-se entre si. Aliás, em muitos casos, é preferível que estejam isolados.

Ao familiarizares-te com as redes Docker, podes configurá-las para que apenas determinados contentores tenham acesso a outros. Isso reduz a superfície de ataque e limita o movimento lateral de eventuais intrusos.

Atualizações Regulares
Uma coisa que nunca deve faltar na tua rotina de segurança são as atualizações. Manter o Docker, os teus contentores, e as aplicações que neles correm atualizadas é vital. As atualizações não só trazem novas funcionalidades, mas também corrigem vulnerabilidades.

Por isso, mantém-te sempre atento às notícias e atualizações do mundo Docker. Se surgir uma vulnerabilidade crítica, vais querer estar entre os primeiros a resolvê-la.

Limita o Acesso
Por último, mas não menos importante, limita o acesso aos teus contentores. Nem todos na tua organização precisam de aceder a todas as funcionalidades do Docker. Define papéis e permissões e concede-os de forma prudente. E, claro, garante que qualquer acesso é protegido por autenticação robusta e, se possível, multi-fator.

Então, o que achaste desta viagem pela segurança do Docker? Espero que tenhas encontrado útil e que ponhas em prática estas recomendações. A cibersegurança é uma tarefa contínua que requer atenção e cuidado da nossa parte. Mas com as ferramentas certas e as melhores práticas, podes descansar sabendo que os teus contentores Docker estão bem protegidos. Até à próxima!

La entrada Segurança de Contentores Docker: Melhores Práticas e Recomendações se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/seguranca-de-contentores-docker-melhores-praticas-e-recomendacoes/feed/ 0
Otimização do Desempenho de Contêineres Docker: Dicas Práticas para Melhor Performance https://aprendeit.com/pt/otimizacao-do-desempenho-de-conteineres-docker-dicas-praticas-para-melhor-performance/ https://aprendeit.com/pt/otimizacao-do-desempenho-de-conteineres-docker-dicas-praticas-para-melhor-performance/#respond Mon, 24 Jul 2023 04:57:20 +0000 https://aprendeit.com/?p=5331 Olá e bem-vindo a uma nova publicação! Hoje, vamos aprofundar um tópico crucial para qualquer desenvolvedor que utilize Docker: como otimizar o desempenho dos contêineres Docker. Talvez tenhas chegado aqui ...

La entrada Otimização do Desempenho de Contêineres Docker: Dicas Práticas para Melhor Performance se publicó primero en Aprende IT.

]]>

Olá e bem-vindo a uma nova publicação! Hoje, vamos aprofundar um tópico crucial para qualquer desenvolvedor que utilize Docker: como otimizar o desempenho dos contêineres Docker. Talvez tenhas chegado aqui a perguntar: “Como posso fazer com que os meus contêineres Docker funcionem da maneira mais eficiente possível?” Bem, estás no lugar certo!

Porque precisas de otimizar os contêineres Docker?

Primeiro, é importante entender porque precisas de otimizar os teus contêineres Docker. Docker é uma ferramenta fantástica que permite aos desenvolvedores embalar e distribuir as suas aplicações em contêineres de uma forma realmente eficaz. No entanto, como qualquer outra tecnologia, não é perfeita e pode necessitar de alguma otimização para garantir que a tua aplicação funcione da melhor maneira possível.

Imagina que estás a conduzir um carro. Se não mudares o óleo regularmente ou verificares os travões, é provável que o teu carro não funcione da melhor maneira possível. O mesmo acontece com Docker. Se não fizeres um esforço para otimizar os teus contêineres, podes acabar com um desempenho subóptimo.

Como saber se os teus contêineres Docker precisam de otimização?

Então, a pergunta de um milhão de euros, como saber se os teus contêineres Docker precisam de otimização? Existem vários sinais que podem indicar que precisas de trabalhar na otimização dos teus contêineres Docker.

Se observares que as tuas aplicações demoram muito tempo a carregar, ou se os teus contêineres usam uma quantidade excessiva de CPU ou memória, é provável que precisas de fazer alguns ajustes. Outro indicador pode ser se vires que os teus contêineres travam frequentemente, ou se notares que as tuas aplicações são incapazes de lidar com a quantidade de tráfego que esperavas.

Compreender Docker e a Otimização de Recursos

Para poderes otimizar o desempenho dos teus contêineres Docker, primeiro precisas de entender como Docker usa os recursos do sistema. Docker executa-se numa máquina host e usa os recursos dessa máquina para executar contêineres. No entanto, Docker não usa todos os recursos da máquina host por padrão. Em vez disso, limita a quantidade de recursos que cada contêiner pode usar.

Agora, com uma melhor compreensão de como Docker usa os recursos do sistema, podemos explorar como otimizar o desempenho dos teus contêineres Docker.

Reduzir o Tamanho da Imagem Docker

Uma forma eficaz de melhorar o desempenho dos teus contêineres Docker é reduzindo o tamanho das tuas imagens Docker. Imagens grandes podem retardar o arranque dos teus contêineres e aumentar o uso de memória. Portanto, ao reduzir o tamanho das tuas imagens Docker, podes ajudar a melhorar a velocidade e eficiência dos teus contêineres.

Há várias maneiras de fazer isso. Uma delas é utilizando imagens base mais pequenas. Por exemplo, em vez de usares uma imagem base de Ubuntu, poderias usar uma imagem base de Alpine, que é significativamente mais pequena. Outra estratégia é remover quaisquer ficheiros desnecessários das tuas imagens. Isto inclui ficheiros temporários, ficheiros de cache e pacotes que não são necessários para executar a tua aplicação.

Limitar o Uso de Recursos

Outra estratégia para otimizar os teus contêineres Docker é limitar o uso de recursos. Como mencionei antes, Docker limita a quantidade de recursos que cada contêiner pode usar. No entanto, podes ajustar estes limites para garantires que os teus contêineres não estão a usar mais recursos do que precisam.

Por exemplo, podes limitar a quantidade de CPU que um contêiner pode usar definindo um limite de CPU no teu ficheiro de configuração Docker. Da mesma forma, podes limitar a quantidade de memória que um contêiner pode usar definindo um limite de memória.

Usar eficientemente o Armazenamento em Docker

O armazenamento é outro recurso crucial que Docker usa e que pode afetar o desempenho dos teus contêineres. Portanto, é vital que uses o armazenamento em Docker da forma mais eficiente possível.

Uma dica para fazer isso é limitar a quantidade de dados que os teus contêineres estão a escrever no disco. Quanto mais dados um contêiner escreve no disco, mais lento será. Portanto, se conseguires reduzir a quantidade de escritas no disco, poderás melhorar o desempenho dos teus contêineres.

Além disso, lembra-te que Docker usa uma camada de armazenamento para gerir os dados dos contêineres. Cada vez que um contêiner escreve dados no disco, Docker cria uma nova camada de armazenamento. Isto pode atrasar os teus contêineres, especialmente se eles estiverem a escrever grandes quantidades de dados. Portanto, é recomendável que otimizes a utilização da camada de armazenamento em Docker.

Otimizar as Redes em Docker

Por último, mas não menos importante, a rede é um recurso crucial em Docker que também pode afetar o desempenho dos teus contêineres. A rede em Docker pode ser complexa, pois envolve a comunicação entre contêineres, entre contêineres e a máquina host, e entre contêineres e o mundo exterior.

Uma maneira de otimizar a rede em Docker é usando redes personalizadas. Docker permite que crias as tuas próprias redes e atribui contêineres a essas redes. Isso pode ser útil para otimizar a comunicação entre contêineres, já que podes agrupar contêineres que precisam comunicar uns com os outros na mesma rede.

Além disso, podes otimizar a rede em Docker ajustando os parâmetros da rede. Docker permite ajustar vários parâmetros de rede, como tamanho do buffer, congestionamento de rede e controle de fluxo. Ajustando esses parâmetros, podes ajudar a melhorar a eficiência da rede em Docker.

E isso é tudo…

Espero que estas dicas te tenham ajudado a entender como podes otimizar o desempenho dos teus contêineres Docker. Lembra-te que cada aplicação é única e o que funciona para uma pode não funcionar para outra. Portanto, é importante experimentar e encontrar as estratégias de otimização que funcionam melhor para as tuas aplicações.

Até a próxima publicação!

La entrada Otimização do Desempenho de Contêineres Docker: Dicas Práticas para Melhor Performance se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/otimizacao-do-desempenho-de-conteineres-docker-dicas-praticas-para-melhor-performance/feed/ 0
Como depurar aplicações em contentores Docker: O teu guia definitivo https://aprendeit.com/pt/como-depurar-aplicacoes-em-contentores-docker-o-teu-guia-definitivo/ https://aprendeit.com/pt/como-depurar-aplicacoes-em-contentores-docker-o-teu-guia-definitivo/#respond Thu, 13 Jul 2023 12:46:27 +0000 https://aprendeit.com/?p=5296 Olá, destemido desenvolvedor! Se estás aqui, é porque estás à procura de como depurar as tuas aplicações em contentores Docker. Compreendemos que este processo pode parecer complexo, mas não te ...

La entrada Como depurar aplicações em contentores Docker: O teu guia definitivo se publicó primero en Aprende IT.

]]>
Olá, destemido desenvolvedor! Se estás aqui, é porque estás à procura de como depurar as tuas aplicações em contentores Docker. Compreendemos que este processo pode parecer complexo, mas não te preocupes! Estás no lugar certo. Ao longo deste post, aprenderás os truques e técnicas para implementar e depurar as tuas aplicações de forma eficiente.

Compreendendo o Docker e os contentores

Antes de nos aprofundarmos nas complexidades da depuração, é bom esclarecer brevemente o que é o Docker e por que os contentores são tão relevantes no desenvolvimento moderno de aplicações. O Docker é uma ferramenta que permite aos desenvolvedores como tu, empacotar aplicações e suas dependências em contentores. Estes contentores são leves e portáteis, permitindo-te executar as tuas aplicações em qualquer sistema operativo que suporte Docker, sem te preocupares com tarefas de configuração tediosas.

Ferramentas para depuração no Docker

Depurando a partir do host

Primeiro, vamos falar sobre como podes depurar as tuas aplicações a partir do mesmo host onde o contentor Docker está a ser executado. Isto é útil em situações em que queres acompanhar o que está a acontecer na tua aplicação em tempo real, sem a necessidade de aceder ao contentor.

Podes utilizar ferramentas como docker logs, que te permite visualizar os logs das tuas aplicações em tempo real. Além disso, podes usar docker top para ver os processos que estão a ser executados dentro do teu contentor. Isto permite-te ver o que está a consumir recursos e se há algum processo que não deveria estar a ser executado.

Acedendo ao contentor

Ocasionalmente, precisarás aceder diretamente ao contentor para depurar a tua aplicação. O Docker permite que faças isso usando o comando docker exec, que te permite executar comandos dentro do teu contentor como se estivesses no sistema operativo host.

Uma vez dentro do contentor, poderás usar as ferramentas de depuração instaladas na tua imagem. Por exemplo, se estiveres a trabalhar com uma aplicação em Python, poderias usar o pdb para depurar o teu código.

Depurando com Docker Compose

O Docker Compose é outra ferramenta que será útil na depuração das tuas aplicações. O Docker Compose permite-te definir e executar aplicações multi-contentor com uma simples descrição num ficheiro YAML.

Tal como com o Docker, podes aceder aos logs das tuas aplicações com docker-compose logs, e também podes aceder ao contentor com docker-compose exec.

Técnicas para depurar aplicações no Docker

Depuração em tempo de execução

A depuração em tempo de execução permite-te inspecionar o estado da tua aplicação enquanto ela está a ser executada. Podes fazer isto usando ferramentas como pdb (para Python) ou gdb (para C/C++) dentro do teu contentor.

Estas ferramentas permitem-te colocar pontos de parada no teu código, inspecionar variáveis e avançar passo a passo na execução da tua aplicação, permitindo-te ver exatamente o que está a acontecer a cada momento.

Depuração post-mortem

A depuração post-mortem é realizada depois de a tua aplicação ter falhado. Isto permite-te inspecionar o estado da tua aplicação no momento da falha.

A depuração post-mortem é especialmente útil quando te deparas com erros intermitentes ou difíceis de reproduzir. Nestes casos, podes configurar a tua aplicação para gerar um dump de memória em caso de falha, que poderás analisar mais tarde para encontrar o problema.

Tracing e Profiling

Outra técnica útil na depuração de aplicações no Docker é o tracing e profiling. Isto permite-te obter informações detalhadas sobre a execução da tua aplicação, como o tempo que cada função demora a executar ou a utilização da memória.

Existem várias ferramentas que te permitem fazer tracing e profiling das tuas aplicações no Docker, como strace (para sistemas baseados em Linux) ou DTrace (para sistemas baseados em Unix).

Dicas finais

Antes de terminar, gostaria de te dar algumas dicas para tornar a tua experiência de depuração de aplicações no Docker o mais suave possível:

  • Certifica-te de que tens uma boa compreensão de como funciona o Docker. Quanto melhor entenderes o Docker, mais fácil será depurar as tuas aplicações.
  • Familiariza-te com as ferramentas de depuração disponíveis para a tua linguagem de programação.
  • Não te esqueças da importância de ter bons logs. Um bom sistema de logs pode ser o teu melhor aliado ao depurar problemas nas tuas aplicações.
  • Usa Docker Compose para orquestrar as tuas aplicações multi-contentor. Isto facilitará a tarefa de depurar problemas que surjam da interação entre vários contentores.

Em resumo, depurar aplicações em contentores Docker pode ser uma tarefa complexa, mas com as ferramentas e técnicas adequadas, poderás fazê-lo de maneira eficiente e eficaz. Lembra-te, a prática leva à perfeição, por isso não te frustres se parecer complicado no início. Força e vamos à depuração!

La entrada Como depurar aplicações em contentores Docker: O teu guia definitivo se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/como-depurar-aplicacoes-em-contentores-docker-o-teu-guia-definitivo/feed/ 0
Migrando do Docker Swarm para o Kubernetes: Um Estudo de Caso https://aprendeit.com/pt/migrando-do-docker-swarm-para-o-kubernetes-um-estudo-de-caso/ https://aprendeit.com/pt/migrando-do-docker-swarm-para-o-kubernetes-um-estudo-de-caso/#respond Mon, 19 Jun 2023 11:30:05 +0000 https://aprendeit.com/?p=5192 Olá a todos! Hoje, vou partilhar contigo uma história empolgante – como decidimos migrar do Docker Swarm para o Kubernetes. Podes estar a perguntar: porquê fazer esta mudança? Bem, há ...

La entrada Migrando do Docker Swarm para o Kubernetes: Um Estudo de Caso se publicó primero en Aprende IT.

]]>

Olá a todos! Hoje, vou partilhar contigo uma história empolgante – como decidimos migrar do Docker Swarm para o Kubernetes. Podes estar a perguntar: porquê fazer esta mudança? Bem, há várias razões e todas elas somam para fazer do Kubernetes uma opção muito atraente. Vamos a isso!

Porquê a Mudança: Vantagens do Kubernetes sobre o Docker Swarm

O Docker Swarm é excelente, não me interpretes mal. É fácil de usar, tem uma curva de aprendizagem suave e as implementações são rápidas. No entanto, se procuras uma ferramenta com maior escalabilidade, robustez e flexibilidade, o Kubernetes é o teu aliado.

Por um lado, o Kubernetes leva o troféu no que toca a escalabilidade. A sua capacidade para lidar com um grande número de contentores num cluster é algo em que o Kubernetes se destaca. E se adicionares a possibilidade de gerir vários clusters ao mesmo tempo, temos um vencedor incontestável.

Além disso, o Kubernetes possui um ecossistema rico e diversificado. Oferece uma ampla gama de plugins e extensões, aumentando muito a sua flexibilidade. Além disso, a comunidade que o apoia é muito ativa, com atualizações e melhorias constantes. Em contraste, a comunidade do Docker Swarm, embora dedicada, não consegue competir em termos de tamanho e atividade.

O Nosso Cenário: Onde Começamos

Estávamos numa situação onde já tínhamos implementado o Docker Swarm na nossa infraestrutura. Tínhamos vários serviços a correr no Swarm, que funcionavam bem e cumpriam o seu propósito. Mas sabíamos que podíamos melhorar a nossa arquitetura.

O Caminho para o Kubernetes: Primeiros Passos

O primeiro passo para migrar do Docker Swarm para o Kubernetes é criar um cluster do Kubernetes. No nosso caso, optámos por usar o Google Kubernetes Engine (GKE) pela sua facilidade de uso e funcionalidades poderosas. No entanto, existem outras opções, como o AWS EKS ou Azure AKS, que também poderias considerar.

Depois de criarmos o nosso cluster, começamos a trabalhar na conversão dos nossos Docker Compose Files para o Kubernetes. É aqui que o Helm entra. O Helm é um gestor de pacotes para o Kubernetes que nos permite definir, instalar e atualizar aplicações de forma fácil.

Do Swarm para o Cluster: Conversões e Configurações

Converter os ficheiros Docker Compose para ficheiros Helm não é complicado, mas requer atenção ao detalhe. Felizmente, existem ferramentas como o Kompose que tornam a nossa vida mais fácil. O Kompose converte automaticamente os ficheiros Docker Compose em ficheiros Kubernetes.

Depois de converter os nossos ficheiros, foi altura de definir as nossas configurações. Os ConfigMaps e Secrets do Kubernetes são o equivalente às variáveis de ambiente no Docker Swarm. Aqui, precisámos de fazer algumas modificações, mas em geral, o processo foi bastante direto.

Implementando no Kubernetes: Desafios Enfrentados

Agora, com o nosso cluster do Kubernetes pronto e os nossos ficheiros Helm preparados, era hora de implementar os nossos serviços. Foi aqui que encontramos alguns desafios.

O primeiro desafio foi gerir o tráfego de rede. Ao contrário do Docker Swarm, que usa uma rede overlay para conectar todos os nós, o Kubernetes usa uma abordagem diferente chamada CNI (Container Network Interface). Isto exigiu uma mudança na nossa configuração de rede.

Além disso, tivemos que ajustar as nossas regras de firewall para permitir o tráfego entre os diferentes serviços do Kubernetes. Felizmente, as Network Policies do Kubernetes facilitaram esta tarefa.

O próximo desafio foi gerir os volumes. Enquanto o Docker Swarm usa volumes para armazenamento persistente, o Kubernetes usa Persistent Volumes e Persistent Volume Claims. Embora o conceito seja semelhante, a implementação difere um pouco.

No nosso caso, usamos volumes do Docker para armazenar dados das nossas bases de dados. Ao migrar para o Kubernetes, tivemos que converter estes volumes em Persistent Volumes, o que exigiu algum trabalho extra.

Por último, enfrentamos o desafio de monitorizar o nosso novo cluster do Kubernetes. Embora existam muitas ferramentas para monitorizar o Kubernetes, escolher a certa pode ser complicado.

No nosso caso, optámos pelo Prometheus e Grafana. O Prometheus proporciona-nos uma poderosa solução de monitorização e alertas, enquanto o Grafana nos permite visualizar os dados de forma atraente.

Surpresas pelo Caminho: O que Não Esperávamos

Como em qualquer projeto, encontrámos algumas surpresas pelo caminho. Algumas delas foram agradáveis, outras nem tanto.

Por um lado, ficámos agradavelmente surpreendidos com a facilidade com que pudemos escalar os nossos serviços no Kubernetes. Graças à função de auto-escala, pudemos ajustar automaticamente o número de pods com base na carga de trabalho. Isto permitiu-nos melhorar o desempenho dos nossos serviços e poupar recursos.

Por outro lado, encontrámos alguns problemas com as atualizações. Ao contrário do Docker Swarm, onde as atualizações são bastante diretas, no Kubernetes tivemos que lidar com as Rolling Updates. Embora sejam uma característica poderosa, requerem alguma prática para as dominar.

Missão Cumprida!: Kubernetes em Funcionamento

Finalmente, após superar os desafios e aprender com as surpresas, conseguimos migrar com sucesso do Docker Swarm para o Kubernetes. Agora, os nossos serviços são executados de forma mais eficiente, e temos uma maior flexibilidade e controlo sobre a nossa infraestrutura.

Tenho a certeza de que ainda temos muito a aprender sobre o Kubernetes. Mas, sem dúvida, este primeiro passo valeu a pena. A migração permitiu-nos melhorar a nossa arquitetura, otimizar os nossos serviços e preparar-nos para desafios futuros.

E tu, já consideraste migrar do Docker Swarm para o Kubernetes? O que achaste da nossa experiência? Estamos ansiosos por ouvir as tuas impressões e aprender com as tuas experiências!

La entrada Migrando do Docker Swarm para o Kubernetes: Um Estudo de Caso se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/migrando-do-docker-swarm-para-o-kubernetes-um-estudo-de-caso/feed/ 0
10 Truques Essenciais do Docker Que Deverias Conhecer https://aprendeit.com/pt/10-truques-essenciais-do-docker-que-deverias-conhecer/ https://aprendeit.com/pt/10-truques-essenciais-do-docker-que-deverias-conhecer/#respond Tue, 13 Jun 2023 17:33:08 +0000 https://aprendeit.com/?p=5216 Antes de mergulharmos nos truques do Docker, é essencial entender o que é o Docker e porque se tornou uma ferramenta tão importante no mundo do desenvolvimento e da administração ...

La entrada 10 Truques Essenciais do Docker Que Deverias Conhecer se publicó primero en Aprende IT.

]]>

Antes de mergulharmos nos truques do Docker, é essencial entender o que é o Docker e porque se tornou uma ferramenta tão importante no mundo do desenvolvimento e da administração de sistemas. Docker é uma plataforma de contentores que permite aos desenvolvedores e administradores de sistemas embalar, distribuir e gerir aplicações de forma eficiente e segura. O coração do Docker são os contentores, ambientes isolados onde as aplicações são executadas, evitando os problemas de “funciona na minha máquina”.

Mas agora vamos ao que realmente interessa, esses truques do Docker que vão facilitar muito a tua vida.

Aproveitando o Dockerfile

O Dockerfile é o documento que define como a tua imagem Docker, que dará vida ao teu contentor, é construída. Podes vê-lo como uma receita, onde cada linha é uma instrução para adicionar ingredientes (camadas) à tua imagem.

Não te esqueças do .dockerignore: Tal como acontece com o git, o Docker tem um sistema para ignorar arquivos. Qualquer arquivo ou pasta especificada no .dockerignore não será copiada para a imagem Docker. Isto é útil para ignorar arquivos desnecessários, como logs, arquivos de node_modules ou quaisquer outros que não sejam necessários para a execução da tua aplicação.

Uso de camadas de cache: O Docker armazena em cache as camadas da imagem sempre que constróis uma. Se não fizeste alterações nessa camada específica, o Docker irá reutilizá-la, acelerando o processo de construção. Se colocares as instruções que menos mudam no início do Dockerfile, poderás tirar o máximo proveito desta funcionalidade.

Brincando com Contentores

Os contentores são a essência do Docker, mas também podem ser difíceis de manusear se não conheces alguns truques.

Gestão eficiente de contentores: O Docker oferece vários comandos para gerir contentores. Por exemplo, podes usar docker ps -a para ver todos os teus contentores (mesmo os que estão parados), docker stop $(docker ps -aq) para parar todos os contentores que estão a correr, e docker rm $(docker ps -aq) para remover todos os contentores.

Logs do Docker para depuração: Se algo correr mal com a tua aplicação, podes verificar os logs do teu contentor com docker logs CONTAINER_ID. Até podes seguir os logs em tempo real com docker logs -f CONTAINER_ID.

Imagens Docker: Menos é Mais

As imagens Docker podem ser enormes se não forem corretamente manuseadas. Aqui ficam alguns truques para mantê-las tão leves quanto possível.

Usa imagens base minimalistas: Existem muitas imagens base do Docker disponíveis, mas nem todas são criadas da mesma forma. Algumas são muito pesadas e contêm muitas coisas que provavelmente não precisas. Tenta usar imagens base minimalistas como a Alpine, que só têm o essencial.

Remover cache após instalações: Quando instalas algo com apt, yum ou qualquer outro gerenciador de pacotes, é gerado um cache que não é necessário para executar a tua aplicação. Podes eliminá-lo na mesma linha em que instalas o pacote, para não gerar uma nova camada: por exemplo, podes usar RUN apt-get update && apt-get install -y my-package && rm -rf /var/lib/apt/lists/*.

Orquestrando Contentores com Docker Compose

Docker Compose é uma ferramenta incrível que te permite definir e gerir vários contentores de uma só vez. E, claro, também tem os seus próprios truques.

Usar variáveis de ambiente: Docker Compose permite-te definir variáveis de ambiente num arquivo .env, que podes usar no teu arquivo docker-compose.yml. Isto é muito útil para não teres que escrever as mesmas coisas uma e outra vez.

Dependências entre contentores: Com Docker Compose, podes definir dependências entre contentores usando a opção depends_on. Isto garante que Docker Compose inicie os contentores na ordem correta.

Criando Redes com Docker

Docker permite-te criar redes para conectar os teus contentores para que eles possam se comunicar uns com os outros.

Criando e gerindo redes: Podes criar uma rede com o comando docker network create. Uma vez que a rede está criada, podes conectar um contentor a ela com docker network connect.

Inspeccionando redes: Se quiseres ver que contentores estão conectados a uma rede, podes usar docker network inspect.

Otimizando o Uso de Docker

Finalmente, existem alguns truques gerais que te ajudarão a aproveitar ao máximo o Docker.

Docker system prune: Com o passar do tempo, é provável que acumules uma quantidade de imagens, contentores e redes que já não usas. Podes removê-los todos com docker system prune.

Usar Docker com CI/CD: Docker encaixa-se perfeitamente em qualquer processo de integração contínua e implantação contínua. Podes construir a tua imagem Docker como parte do teu pipeline de CI/CD, testá-la e depois implementá-la em produção.

Uso de Compilações Multi-Etapas para Imagens Eficientes

No Docker, podes utilizar compilações multi-etapas para otimizar as tuas imagens. Isso implica dividir o teu Dockerfile em várias etapas, onde cada uma pode usar uma imagem base diferente. Por exemplo, podes ter uma etapa para compilar a tua aplicação e outra para executá-la. Isso permite incluir apenas o necessário na imagem final, mantendo-a o mais leve possível.

Configuração de Volumes para Persistência de Dados

Os dados armazenados nos contentores são efémeros e perdem-se quando o contentor é eliminado. Para manter dados persistentes, podes configurar volumes no Docker. Isso permite-te armazenar dados fora do contentor, assegurando que não se perdem mesmo que o contentor seja eliminado ou atualizado.

Uso de Docker Secrets para Gerir Dados Sensíveis

A gestão de dados sensíveis, como senhas e tokens de acesso, é crucial. Docker Secrets oferece uma forma segura de armazenar e gerir esta informação. Os secrets são cifrados durante a transmissão e em repouso, proporcionando uma camada adicional de segurança para os teus dados sensíveis.

Otimização com Health Checks

Os health checks no Docker permitem-te verificar automaticamente o estado dos teus contentores. Podes definir comandos ou instruções que o Docker executará periodicamente para se assegurar de que a tua aplicação está a funcionar corretamente. Isto é especialmente útil para detetar problemas rapidamente e melhorar a disponibilidade e fiabilidade dos teus serviços.

Espero que estes truques te ajudem a dominar o Docker e a facilitar um pouco a tua vida. Lembra-te, Docker é uma ferramenta poderosa, mas também pode ser complicada. Com estas dicas e truques, poderás aproveitar ao máximo o Docker e evitar alguns dos problemas mais comuns.

La entrada 10 Truques Essenciais do Docker Que Deverias Conhecer se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/10-truques-essenciais-do-docker-que-deverias-conhecer/feed/ 0
Melhores práticas de construção de imagens com Dockerfiles https://aprendeit.com/pt/melhores-praticas-de-construcao-de-imagens-com-dockerfiles/ https://aprendeit.com/pt/melhores-praticas-de-construcao-de-imagens-com-dockerfiles/#respond Sun, 06 Mar 2022 19:15:39 +0000 https://aprendeit.com/?p=2747 Assuntos de encomenda Em Dockerfiles, a encomenda é muito importante. Por exemplo, não é a mesma coisa executar uma instrução COPY ou ADD para adicionar um ficheiro executável e depois ...

La entrada Melhores práticas de construção de imagens com Dockerfiles se publicó primero en Aprende IT.

]]>
Assuntos de encomenda

Em Dockerfiles, a encomenda é muito importante. Por exemplo, não é a mesma coisa executar uma instrução COPY ou ADD para adicionar um ficheiro executável e depois executá-lo do que tentar executá-lo antes de o adicionar. Isto parece óbvio mas é um dos principais erros que fazem com que um Dockerfile não funcione correctamente quando se tenta criar uma imagem a partir dele.

Iluminar a imagem apagando ficheiros

Sempre que criar uma imagem, lembre-se de apagar ficheiros temporários de que não necessita ao executar a aplicação, pois isso poupará espaço em disco. Por exemplo, se descarregar um ficheiro comprimido para executar a aplicação, descomprimir o seu conteúdo e este conteúdo é o que irá utilizar, deverá apagar o ficheiro comprimido para tornar a imagem mais leve.

Reduzir o número de ficheiros

Evitar a instalação de pacotes desnecessários. Se não o fizer, poderá ter um maior consumo de memória e disco com a imagem que está a criar e poderá também ter mais problemas de segurança, pois terá de manter e actualizar estes ficheiros em cada versão.

Evite incluir ficheiros que não deve usar “.dockerignore”.

Evite incluir ficheiros que não devem ser incluídos, tais como ficheiros contendo dados pessoais, utilizando ficheiros “.dockerignore”. Estes ficheiros são semelhantes aos ficheiros “.gitignore” e com algumas linhas podemos evitar a filtragem de informação.

Especifica a versão da imagem de base e as dependências

É importante utilizar versões concretas e não utilizar imagens de base e dependências sem especificar uma versão. A não especificação de versões pode levar a bugs imprevistos que são difíceis de localizar.

Usar a imagem de base correcta

É importante utilizar as menores imagens de base possíveis, tais como Alpine ou Busybox, sempre que possível. Por outro lado, é possível que com algumas aplicações precisemos de imagens específicas para que a aplicação funcione, neste caso não há muito mais a comentar, utilizá-las.

Finalmente, sempre que possível utilizar imagens de base oficiais, isto evitará problemas tais como a utilização de imagens com malware incorporado.

Reutilização de imagens

Se todas as imagens em execução nos seus anfitriões forem baseadas no Ubuntu:20.04 por exemplo, a utilização desta imagem base pode poupar-lhe mais espaço em disco do que a utilização de uma pequena imagem como Alpine ou Busybox, uma vez que já tem a outra imagem guardada no disco.

La entrada Melhores práticas de construção de imagens com Dockerfiles se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/melhores-praticas-de-construcao-de-imagens-com-dockerfiles/feed/ 0
Por que razão devemos contêiner as nossas aplicações https://aprendeit.com/pt/por-que-razao-devemos-conteiner-as-nossas-aplicacoes/ https://aprendeit.com/pt/por-que-razao-devemos-conteiner-as-nossas-aplicacoes/#respond Wed, 09 Feb 2022 16:50:43 +0000 https://aprendeit.com/?p=2703 Por que razão devemos contêr as nossas aplicações? Em primeiro lugar, é de notar que uma aplicação pode funcionar correctamente num sistema sem contentores ou dentro de um contentor. Pode ...

La entrada Por que razão devemos contêiner as nossas aplicações se publicó primero en Aprende IT.

]]>
Por que razão devemos contêr as nossas aplicações? Em primeiro lugar, é de notar que uma aplicação pode funcionar correctamente num sistema sem contentores ou dentro de um contentor. Pode funcionar correctamente em qualquer dos modos.

Então porquê “perder tempo” a passar a aplicação para contentores?

Quando preparamos uma aplicação para correr em contentores, não estamos a perder tempo. Pelo contrário, estamos a poupar tempo no futuro.

Deixe-me explicar, quando uma aplicação está preparada para funcionar em contentores, estamos a tornar a aplicação mais independente de um sistema porque podemos actualizar o sistema onde os contentores funcionam sem afectar a aplicação e, pelo contrário, podemos actualizar a imagem da aplicação sem afectar o sistema base. Por conseguinte, fornecemos uma camada de isolamento à aplicação.

É importante notar que a imagem que preparamos para a candidatura deve estar em conformidade com as normas da OCI ou Open Container Initiative (como pode ser verificado em https://opencontainers.org/ ), ou seja, a imagem está em conformidade com a OCI, podemos executar a imagem da nossa aplicação em todas as rotinas compatíveis, tais como:

  • Docker
  • Containerd
  • Cri-o
  • Rkt
  • Runc

Bem, o que mais ganhamos em ter a aplicação pronta a correr num contentor?

Para além do acima referido, podemos tirar partido das rotinas anteriores e gestores autónomos como o Docker com orquestradores como os orquestradores:

  • Docker-swarm (não é o mais utilizado)
  • Kubernetes (o derradeiro orquestrador)

Este tipo de orquestrador oferece grandes vantagens para a nossa aplicação, tais como alta disponibilidade, escalabilidade, monitorização, flexibilidade, etc. Fornecem uma camada extra de abstracção que facilita a gestão de redes, volumes, gestão de instâncias, e tudo relacionado com a gestão de contentores.

Por exemplo, utilizando Kubernetes pode ter uma aplicação em produção e tê-la à escala baseada na utilização de CPU ou RAM. Pode também certificar-se de que há um certo número de casos. E, mais importante ainda, é possível deslocar-se sem causar um desastre, gerindo muito rapidamente um rollback, se necessário.

Conclusões

Há apenas alguns anos atrás, a indústria em geral só via isto como viável para ambientes não produtivos (excepto para os mais ousados), mas recentemente estamos a assistir a uma adopção cada vez mais generalizada deste tipo de tecnologia. De facto, a grande maioria dos principais actores da tecnologia das nuvens tem serviços relacionados com as nuvens no local.

La entrada Por que razão devemos contêiner as nossas aplicações se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/por-que-razao-devemos-conteiner-as-nossas-aplicacoes/feed/ 0
O comando do Docker System https://aprendeit.com/pt/o-comando-do-docker-system/ https://aprendeit.com/pt/o-comando-do-docker-system/#respond Tue, 18 Jan 2022 19:11:37 +0000 https://aprendeit.com/?p=2434 Olá de novo! Este artigo fala sobre como obter informações gerais sobre todo o sistema portuário e fazer “limpeza” de contentores, imagens e volumes de resíduos com docker system. Docker ...

La entrada O comando do Docker System se publicó primero en Aprende IT.

]]>
Olá de novo! Este artigo fala sobre como obter informações gerais sobre todo o sistema portuário e fazer “limpeza” de contentores, imagens e volumes de resíduos com docker system.

Docker system

O comando do docker system tem vários sub-mandos:

• docker system info
• docker system df
• docker system events
• docker system prune

Ver informação sobre um host de docker

Para ver a informação do hospedeiro a partir da docker, podemos executar o comando docker system info ou a sua abreviatura docker info desta forma:

[ger-pc ~]# docker info
Client:
Debug Mode: false

Server:
Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 5
Server Version: 19.03.7-ce
Storage Driver: overlay2
Backing Filesystem: <unknown>
Supports d_type: true
Native Overlay Diff: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: d76c121f76a5fc8a462dc64594aea72fe18e1178.m
runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
init version: fec3683
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 5.5.8-1-MANJARO
Operating System: Manjaro Linux
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.233GiB
Name: ger-pc
ID: MWH3:24AM:UAZJ:E5UL:TRI3:F4NZ:Y3JD:IMKP:7G2V:VV6I:L5XF:J2TW
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

Desta forma, poderemos saber em que hardware, versão de docker, características do sistema, estamos a trabalhar.

Ver utilização de disco de cada contentor

Podemos ver a capacidade de disco utilizada por cada imagem, recipiente, volume e construir cache. O comando docker system df dar-nos-á um breve resumo em disco para cada componente da docker, como se vê no exemplo seguinte:

[ger-pc ~]# docker system df 
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 6 1 1.006GB 803.4MB (79%)
Containers 1 0 2B 2B (100%)
Local Volumes 0 0 0B 0B
Build Cache 0 0 0B 0B
[ger-pc ~]#

Se também quiser saber quanto espaço em disco ocupa cada imagem ou cada contentor ou cada volume, tem de adicionar a opção -v ao comando, como pode ver no exemplo seguinte:

 
[ger-pc ~]# docker system df -v
Images space usage:

REPOSITORY TAG IMAGE ID CREATED SIZE SHARED SIZE UNIQUE SIZE CONTAINERS
nginx alpine 89ec9da68213 3 days ago 19.94MB 0B 19.94MB 0
archlinux latest 9651b9e35f39 2 weeks ago 412.2MB 0B 412.2MB 0
ubuntu 18.04 4e5021d210f6 5 weeks ago 64.21MB 0B 64.21MB 0
centos 8 470671670cac 3 months ago 237.1MB 0B 237.1MB 0
ubuntu 19.04 c88ac1f841b7 3 months ago 69.99MB 0B 69.99MB 0
centos 7 5e35e350aded 5 months ago 203MB 0B 203MB 1

Containers space usage:

CONTAINER ID IMAGE COMMAND LOCAL VOLUMES SIZE CREATED STATUS NAMES
6e034771f891 centos:7 "/bin/bash" 0 2B 25 hours ago Exited (137) 15 hours ago container1

Local Volumes space usage:

VOLUME NAME LINKS SIZE

Build cache usage: 0B

CACHE ID CACHE TYPE SIZE CREATED LAST USED USAGE SHARED
[ger-pc ~]#

Ver eventos em tempo real

O comando de eventos do docker system informa os eventos do docker em tempo real. Isto pode ajudar-nos quando o sistema tem uma falha e queremos evitar que ela se repita.
A sintaxe do comando é muito simples:

docker system events

 

Remoção de resíduos das docas

O Docker tem uma forma muito rápida de limpar o sistema.
O comando do docker system prune pode ajudar-nos muito a realizar a limpeza do sistema,

A sintaxe do comando é:

docker system prune

Um exemplo da produção é:

[ger-pc ~]# docker system prune
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- all dangling build cache

Are you sure you want to continue? [y/N] y
Deleted Containers:
6e034771f891225529dc6fc7eef6f40d537820d7607f68885edc10f2c71c6f9d

Total reclaimed space: 2B
[ger-pc ~]#

Como se pode ver, apenas removerá:

  • Contentores parados
  • Redes não utilizadas (sem contentores)
  • Imagens penduradas
  • Construir cache pendurado

Para não pedir confirmação adicionamos o parâmetro -f, pelo que deve ser docker system prune -f e todas as anteriores serão eliminadas de uma só vez, sem confirmação,

Se quisermos apagar todas as imagens, podemos executar o comando acrescentando -a e o comando terá este aspecto:

docker system prune -a

Para remover volumes também, adicionar o parâmetro –volumes como no exemplo seguinte:

docker system prune --volumes

 

Se estiver interessado em aprender Docker, pode adquirir o nosso livro aqui.

Docker para novatos

Docker para novatos - Gerardo G. Urtiaga-portada-web

Se gostou do artigo, partilhe-o nas suas redes sociais para que possamos chegar a mais pessoas!

Com os melhores cumprimentos

La entrada O comando do Docker System se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/o-comando-do-docker-system/feed/ 0