Ir para o conteúdo
  • Materiais
    • Ebook – Ubuntu Linux
    • Ebook – Como Usar Virtualbox
    • Ebook – Kali Linux – Guia de Instalação e Configuração de um Ambiente para Hacking
    • Ebook – O Guia Rápido Sobre Servidor WEB com Apache
    • Ebook – Como Criar Um Servidor Proxy Com Squid
    • Ebook – Apache vs Nginx – O confronto entre os dois servidores web mais utilizados no Linux
    • Ebook – Firewall Com pfSense – Guia para Iniciantes
    • Ebook – Amazon EC2 – Como Criar Seu Primeiro Servidor Na Nuvem
    • Ebook – 10 Shell Script para ADM Linux
  • Sobre
  • Cursos
Menu
  • Materiais
    • Ebook – Ubuntu Linux
    • Ebook – Como Usar Virtualbox
    • Ebook – Kali Linux – Guia de Instalação e Configuração de um Ambiente para Hacking
    • Ebook – O Guia Rápido Sobre Servidor WEB com Apache
    • Ebook – Como Criar Um Servidor Proxy Com Squid
    • Ebook – Apache vs Nginx – O confronto entre os dois servidores web mais utilizados no Linux
    • Ebook – Firewall Com pfSense – Guia para Iniciantes
    • Ebook – Amazon EC2 – Como Criar Seu Primeiro Servidor Na Nuvem
    • Ebook – 10 Shell Script para ADM Linux
  • Sobre
  • Cursos

Docker Run: Comandos Mais Utilizados para Administração de Sistemas em Contêineres

  • pedrodelfino

Compartilhe este post

Share on facebook
Share on linkedin
Share on twitter
Share on email

O Comando Docker Run é para você já enfrentou desafios ao gerenciar aplicações de alta demanda em contêineres Docker

Ou talvez precisou garantir que sua infraestrutura em contêineres estivesse otimizada e segura?

Como eu já coloquei aplicações de alta demanda rodando em contêineres Docker enfrentavam problemas de desempenho e estabilidade, resolvi criar esse guia.

Eu quero vou compartilhar os comandos mais utilizados do Docker Run que podem te ajudar a administrar sistemas em contêineres de forma eficiente e segura.

2. Comando Docker Run Para colocar Aplicações de Alta Demanda Rodando

Lembro-me de um cliente específico que estava enfrentando problemas graves de desempenho com sua aplicação crítica rodando em contêineres Docker.

A aplicação não conseguia lidar com o alto volume de solicitações, causando lentidão e falhas.

Utilizando uma série de comandos e práticas recomendadas do Docker Run, consegui otimizar a performance, melhorar a estabilidade e garantir que a aplicação pudesse lidar com a demanda.

3. Comandos Básicos do Docker Run

Os comandos básicos do Docker Run são fundamentais para iniciar e gerenciar contêineres Docker. Vamos explorar os principais.

3.1. Executando um Contêiner

Para executar um contêiner, use o comando:

docker run nome_da_imagem

3.2. Nomeando um Contêiner

Para nomear um contêiner, utilize a opção --name:

docker run --name meu_conteiner nome_da_imagem

3.3. Executando um Contêiner em Segundo Plano

Para executar um contêiner em segundo plano (detached mode), use a opção -d:

docker run -d nome_da_imagem

4. Configuração de Rede e Portas Com o Comando Docker Run

Configurar a rede e portas é essencial para garantir que os contêineres possam se comunicar e ser acessados externamente.

4.1. Mapeamento de Portas

Para mapear portas do contêiner para o host, utilize a opção -p:

docker run -p 8080:80 nome_da_imagem

4.2. Conectando Contêineres a Redes

Para conectar um contêiner a uma rede específica, use a opção --network:

docker network create minha_rede
docker run --network minha_rede nome_da_imagem

4.3. Configurando DNS em Contêineres

Para configurar servidores DNS em contêineres, utilize a opção --dns:

docker run --dns 8.8.8.8 nome_da_imagem

5. Gerenciamento de Volumes e Persistência de Dados

Volumes são essenciais para a persistência de dados em contêineres Docker.

5.1. Montando Volumes

Para montar volumes no contêiner, use a opção -v:

docker run -v meu_volume:/dados nome_da_imagem

5.2. Bind Mounts

Para usar bind mounts, que montam diretórios específicos do host, utilize:

docker run -v /meu/diretorio:/dados nome_da_imagem

5.3. Compartilhando Volumes Entre Contêineres

Para compartilhar volumes entre contêineres:

docker run -v meu_volume:/dados --name conteiner1 nome_da_imagem
docker run --volumes-from conteiner1 --name conteiner2 nome_da_imagem

6. Controle de Recursos e Performance Com Docker Run

Gerenciar os recursos é crucial para garantir a performance e a eficiência dos contêineres.

6.1. Limitação de CPU

Para limitar o uso de CPU de um contêiner, use a opção --cpus:

docker run --cpus="1.5" nome_da_imagem

6.2. Limitação de Memória

Para limitar a memória, utilize a opção -m:

docker run -m 512m nome_da_imagem

6.3. Configuração de Swappiness

Para configurar o swappiness, que controla o uso de swap, use:

docker run --memory-swappiness=10 nome_da_imagem

7. Segurança e Permissões

Garantir a segurança dos contêineres é fundamental, especialmente em ambientes de produção.

7.1. Executando Contêineres com Usuários Específicos

Para executar um contêiner com um usuário específico, use a opção --user:

docker run --user 1000:1000 nome_da_imagem

7.2. Capabilities e Segurança

Para adicionar ou remover capabilities do contêiner, utilize:

docker run --cap-add NET_ADMIN --cap-drop MKNOD nome_da_imagem

7.3. Usando AppArmor e SELinux

Para aplicar perfis de segurança AppArmor ou SELinux, use as opções --security-opt:

docker run --security-opt apparmor=perfil_de_seguranca nome_da_imagem
docker run --security-opt label=type:container_runtime_t nome_da_imagem

8. Comandos Avançados do Docker Run

Comandos avançados oferecem maior controle e flexibilidade na execução de contêineres.

8.1. Variáveis de Ambiente

Para definir variáveis de ambiente, utilize a opção -e:

docker run -e "MINHA_VARIAVEL=valor" nome_da_imagem

8.2. Configurações de Reinício

Para definir políticas de reinício, use a opção --restart:

docker run --restart always nome_da_imagem

8.3. Logs e Monitoramento

Para configurar o driver de logs, use a opção --log-driver:

docker run --log-driver syslog nome_da_imagem

9. Estudos de Caso: Problemas Resolvidos na Prática

9.1. Estudo de Caso 1: Otimização de Performance em Aplicações de Alta Demanda

Um cliente enfrentava problemas de desempenho com uma aplicação web de alta demanda. Utilizando limitações de recursos e otimizações específicas, conseguimos melhorar significativamente a performance.

9.2. Estudo de Caso 2: Gerenciamento de Volumes em Aplicações de Banco de Dados

Para um cliente com grandes bancos de dados, implementamos volumes Docker para garantir a persistência e a integridade dos dados, além de backups regulares.

9.3. Estudo de Caso 3: Implementação de Segurança Avançada em Contêineres

Um cliente precisava de maior segurança em suas aplicações. Aplicamos perfis AppArmor e configurações de capabilities para garantir um ambiente mais seguro.

10. Conclusão

Dominar os comandos do Docker Run é essencial para qualquer administrador de sistemas que trabalha com contêineres. Este guia abrange os comandos e práticas recomendadas para garantir que seus contêineres sejam executados de forma eficiente, segura e com alta performance.

11. FAQs

  1. Como posso executar um contêiner em segundo plano?
    Use a opção -d com o comando docker run.
  2. Como montar volumes em um contêiner Docker?
    Utilize a opção -v seguida do volume e caminho desejados.
  3. Como limitar o uso de recursos de um contêiner Docker?
    Use as opções --cpus para CPU e -m para memória.
  4. É possível compartilhar volumes entre contêineres?
    Sim, use a opção --volumes-from para montar volumes de outros contêineres.
  5. Como garantir a segurança dos contêineres Docker?
    Utilize perfis de segurança AppArmor ou SELinux, configure capabilities e execute contêineres com usuários específicos.

Espero que este guia tenha sido útil! Se tiver mais dúvidas ou sugestões, sinta-se à vontade para compartilhar. Forte abraço!

Pedro Delfino

Compartilhe este post

Share on facebook
Share on linkedin
Share on twitter
Share on email
PrevAnteriorNode Package Manager: Guia Completo Para Gerenciar Pacotes Node.js
PróximoYarn Install: Como Instalar e Utilizar (Pacotes node.js)Next

Artigos Recentes

Ext4 versus Btrfs: Qual é o Melhor Sistema de Arquivos No Linux?

Escolher o sistema de arquivos certo é crucial para a performance e confiabilidade de um sistema operacional. Entre os sistemas mais utilizados no Linux, Ext4

pedrodelfino

Sockets: Tudo o que Você Precisa Saber

Se você é um administrador de sistemas iniciante e já se perguntou como os dados são transferidos na internet, você não está sozinho. A solução

pedrodelfino
"Um dos projetos que criei já ajudou mais de 110 mil pessoas a aprender LINUX ..."
pedro Delfino
FUNDADOR DO PROFISSIONAIS LINUX

Sobre Pedro Delfino

FUNDADOR DO PROFISSIONAIS LINUX​

Eu sou Pedro Delfino que durante os últimos 18 anos estive envolvido em implantações de soluções de TI utilizando LINUX, enquanto estava á frente de uma equipe de TI.

Fundador do Profissionais Linux que hoje já conta com mais de 2100 alunos, fui o responsável por diversos projetos de sucesso, todos eu sempre foquei o resultado em primeiro lugar, ou seja, sempre quando crio uma nova solução com Linux que será implantada estou procurando um objetivo especifico.

quero acessar agora

MENU

  • Cursos
  • Materiais
  • Blog
  • Contato

redes SOCIAIS

Facebook-f Instagram

Aprenda a dominar o Linux de uma vez por todas

QUERO MINHA CÓPIA GRÁTIS

Aprenda a dominar o Linux de uma vez por todas