Hoje é 28/03/24 - Dia do Diagramador;


02/03/2020
Utilização do Docker na gestão de containers

Tipo de notícia: Desenvolvimento
Utilização do Docker na gestão de containers

Docker é um software contêiner da empresa Docker, Inc, que fornece uma camada de abstração e automação para virtualização de sistema operacional no Windows e no Linux.

O docker é uma alternativa de virtualização em que o kernel da máquina hospedeira é compartilhado com a máquina virtualizada ou o software em operação, portanto um desenvolvedor pode agregar a seu software a possibilidade de levar as bibliotecas e outras dependências do seu programa junto ao software com menos perda de desempenho do que a virtualização do hardware de um servidor completo.

Container trata de isolamento. Assim, o docker torna operações em uma infraestrutura como serviços web mais intercambiável, eficientes e flexíveis. Este isolamento pode ser lógico(permissões por exemplo) como físico (recursos de harwdware).

Segundo uma análise da 451 Research, o "docker é uma ferramenta que pode empacotar um aplicativo e suas dependências em um recipiente virtual que pode ser executado em qualquer servidor Linux. Isso ajuda a permitir flexibilidade e portabilidade de onde o aplicativo pode ser executado, quer nas instalações, nuvem pública, nuvem privada, entre outros."

Guia inicial

Baixe o Docker Developer Tool - https://www.docker.com/products/developer-tools

Abra o terminal e execute o comando abaixo para ver a versão instalada
docker -v

Visualizar os containers ativos
docker ps

Visualizar os containers baixados
docker images

Para renomear um container
docker rename NOME_ANTIGO NOME_NOVO

Estrutura da pasta
projeto - api - db
arquivo Dockerfile dentro de db com as definições

Estrutura do arquivo Dockerfile
FROM nomedaimagem
ENV variavel_a_ser_passada_a_imagem valor

nomedaimagem encontra-se no site do hub docker.

Contruir nossa imagem
docker build -t nome_da_imagem -f caminho_Dockerfile .
opção -t nomeia nossa imagem;
opção -f informa o caminho do arquivo Dockerfile o . no final indica que o contexto é da pasta atual

Criar container
docker run -d --rm --name nome_container nome_da_imagem
-d significa detach, ou seja, executar em background; o terminal nao vai ficar preso na exibição de informações que o container disponibiliza;
--rm se o container já existir, ele será removido para a criação do novo;
-name nome_container
nome_da_imagem

Criar um container do Ubuntu 19.10
docker run -it -p 8000:80 ubuntu:19.10 /bin/bash
opção -it significa que téra interação no terminal;
opção -p direciona a porta local 8000 para a porta do container 80 opção /bin/bash significa que abrirá um bash;

Exibir os containers rodando
docker ps

Entra no container
docker attach nome_container

executar um comando no container
docker exec -i nome_container COMANDO
opção -i significa que estamos rodando no modo interativo(shell);
Exemplo:
docker exec -i mysql-container mysql -uroot -p123
Este comando executa o comando mysql dentro do container mysql-container passando o usuario root e senha 123 chamando o script.sql dentro da pasta api/db;
docker exec -it mysql-container /bin/bash
opção -it significa que usaremos o terminal; então entraremos no bash do container para testar o banco mysql

Parar o container
docker stop nome_container
Ao parar um container, todas as alterações não são salvas, apenas no caso de uso de volumes.

Executar um container com volume
docker run -d -v $(pwd)/api/db/data:/var/lib/mysql
-v monta um volume na pasta do host api/db/data no container /var/lib/mysql
o comando (pwd) retorna a pasta atual

docker run -it -p 8000:80 -v $(pwd)/volume:/var/volume ubuntu:19.10 /bin/bash
-v monta um volume na pasta do host volume no container /var/volume

Apagar containers que já morreram
docker rm -v $(docker ps -a -q -f status=exited)

Apagar imagens soltas
docker rmi $(docker iamges -f dangling=true -q)

Limpar volumes esquecidos
docker run -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker:/var/lib/docker -rm martin/docker-cleanup-volumes

Referências

https://www.docker.com/

https://pt.wikipedia.org/wiki/Docker_(software)

Docker em 22 min

Docker Composer na prática

Guia rápido do WSL2 + Docker


Noticias Relacionadas


Notícias

Data Título
24/03/2024 São João 2024 de Campina Grande
23/03/2024 São João 2024 de Cruz das Almas
19/03/2024 São João de Assú/RN 2024
14/03/2024 Festival Forrozar
13/03/2024 Samba da Raffe realiza edição especial St. Patrick’s
11/03/2024 Altofolia 2024
07/03/2024 Mossoró Cidade Junina 2024
07/03/2024 Lounge Music abre a temporada dos grandes shows e terá noite dedicada ao forró
06/03/2024 III Harmonizando Experience Festival vai reunir apaixonados por cachaça em Natal
06/03/2024 Festa social de Santa Rita de Cássia divulga preços de lote promocional de senhas
10/02/2024 Câmera de Ação 4k
05/02/2024 Zé Pereira das Crianças 2024 em São João do Sabugi/RN