Domine os princípios básicos do Docker com esses conceitos importantes explicados em palavras simples.

Dominar o Docker é uma habilidade muito procurada por engenheiros de software de back-end. Docker irá ajudá-lo a construir, empacotar e distribuir aplicativos.

Os aplicativos Dockerizados podem ser executados em vários ambientes. Isso reduz o tempo de inatividade do aplicativo, proporcionando às empresas uma vantagem competitiva. Mas o Docker pode ser intimidante quando você começa a aprendê-lo. Aqui estão tópicos vitais para aprender a dominar o Docker.

O que é Docker?

Docker é um software usado para empacotar aplicativos em unidades executáveis ​​chamadas contêineres. Docker fornece suporte para construir, testar e implantar aplicativos rapidamente.

Ao usar o Docker, você interage com o Docker Engine. Você pode instalar o Docker Engine em qualquer sistema operacional, incluindo Janelas 10 e 11, Mac OS, ou Sistemas Ubuntu/Linux. Existem muitas ferramentas e conceitos que você precisa aprender para usar o Docker de maneira eficaz. Aqui estão os mais essenciais para você começar.

instagram viewer

1. Imagem Docker

Uma imagem Docker é um modelo leve usado para criar contêineres. É um modelo de instruções que especifica o sistema operacional, o código do aplicativo e as dependências. Você define instruções sobre como construir a imagem em um Dockerfile.

No arquivo você indica tudo o que sua aplicação precisa. O Docker então constrói automaticamente a imagem com base nas instruções fornecidas. Você pode encontrar várias imagens no registro online do Docker, Docker Hub. Docker recomenda usar imagens oficiais para fins de segurança.

Você também pode criar imagens com base em configurações personalizadas. As imagens vêm em vários tamanhos, sistemas operacionais e idiomas. Você pode escolher aquele que melhor se adapta à sua aplicação. Por exemplo, você pode aprender como construir uma imagem Docker de uma API web .NET.

2. Contêiner Docker

Contêineres são unidades usadas para empacotar um aplicativo em uma unidade executável. Os contêineres incluem tudo o que é necessário para executar um aplicativo, incluindo bibliotecas, código, dependências e tempo de execução.

Os contêineres isolam os aplicativos em unidades, permitindo que sejam executados de forma consistente em vários ambientes. Os contêineres permitem gerenciar aplicativos em ambientes de desenvolvimento e produção sem encontrar erros. Há muitos casos de uso para contêineres que você pode explorar.

Os contêineres Docker têm detalhes como ID do contêiner, imagem e sistema operacional base. Você também pode ver o tempo de execução, o status e o nome do contêiner. Para listar todos os contêineres em seu sistema, use o seguinte comando:

docker container ls

Você verá detalhes de todos os contêineres em execução:

Você também pode usar janela de encaixe ps para visualizar todos os contêineres em execução. E docker container inspecionar [ID do contêiner] para visualizar o conteúdo de um contêiner.

4. Dockerfile

Um Dockerfile é um documento que especifica instruções sobre como construir a imagem Docker. O arquivo especifica a imagem base, o código do aplicativo e os arquivos necessários para criar a imagem.

O arquivo também inclui as variáveis ​​de ambiente e os comandos para criação de imagens. Você pode criar um Dockerfile como qualquer outro arquivo. Você deve especificar as instruções no arquivo usando uma sintaxe que o Docker entenda. A seguir está um exemplo de Dockerfile de amostra:

5. Composição do Docker

Docker Compose é uma ferramenta para definir e executar aplicativos Docker de vários contêineres. Você configura todos os serviços em um arquivo YAML. Um arquivo YAML é um documento onde você especifica os serviços necessários para seu aplicativo. Você pode então criar e executar todos os serviços usando um único comando.

Docker Compose pode executar aplicativos em vários ambientes. Podem ser ambientes de produção, preparação, desenvolvimento ou teste. Docker Compose simplifica o complexo processo de orquestração de vários contêineres.

Você pode usar o Docker Compose para gerenciar um aplicativo durante todo o seu ciclo de vida. Isso pode incluir iniciar, interromper e reconstruir serviços. Você também pode visualizar o status dos serviços em execução, transmitir a saída do log e executar comandos em um serviço.

Com o Docker Compose, você pode configurar redes, gerenciar volumes e especificar dependências. Você também pode dimensionar aplicativos horizontalmente na produção especificando serviços de réplica.

O Compose simplifica a implantação de aplicativos complexos em vários ambientes. Você também pode usá-lo para replicar o mesmo ambiente em sistemas diferentes. Aprendendo a usar o Docker Compose pode aumentar a eficiência da sua aplicação.

Aqui está um exemplo de arquivo YAML do Docker Compose:

6. DockerHub

DockerHub é um registro de contêiner online para Docker. Sendo o maior registro de contêineres, é uma ferramenta de colaboração para desenvolvedores e colaboradores de código aberto. É também um excelente mercado para fornecedores de software.

Docker Hub é um recurso confiável para encontrar software de virtualização confiável. Você pode criar um repositório e compartilhar mais de 100.000 imagens.

Você pode hospedar seus aplicativos e código na plataforma. Você também pode colaborar em projetos com outros desenvolvedores. Docker Hub tem uma opção pública gratuita ou repositórios privados pagos para equipes autorizadas específicas.

7. Rede Docker

A rede Docker é um recurso que permite que os contêineres se comuniquem entre si e com recursos externos. As redes fornecem comunicação controlada e isolada entre contêineres. Podem ser contêineres executados em um ou vários hosts.

Quando você executa um contêiner em sua máquina, ele não fica exposto a redes externas. Você usa portas para expor os contêineres a endereços IP externos, serviços DNS, tabelas de rotas e gateways de Internet.

A rede permite que os contêineres operem em ambientes de rede isolados. As redes fornecem namespaces e endereços IP, reduzindo conflitos de contêineres e aumentando a segurança.

8. Volumes Docker

No Docker, os volumes são um mecanismo usado para armazenar dados persistentes. Por design, os contêineres são efêmeros. O que significa que é fácil substituí-los ou destruí-los com todos os seus dados. Porém, há casos em que você gostaria de reter os dados. Nesses casos, você pode usar volumes Docker para gerenciar dados persistentes.

Os volumes também têm outros usos, incluindo permitir o compartilhamento de dados entre contêineres. Eles são fáceis de fazer backup e migrar em comparação com outras formas de armazenamento. Além disso, você pode gerenciar volumes usando Docker CLI ou API.

Se você executar um contêiner sem volume, o Docker criará um automaticamente. Você também pode criar e gerenciar volumes isolados de qualquer contêiner. Use o seguinte comando para criar um volume.

docker volume create my-vol

Para ver o volume que você criou, execute o seguinte comando:

docker volume ls //local my-vol

Você pode então anexar os volumes a qualquer contêiner que desejar. Você pode ler mais sobre volumes no Docker documentação oficial.

Outros recursos do Docker

Docker é uma das melhores opções para gerenciamento de contêineres e controle de versão. Se você aprender o conjunto de ferramentas do Docker, poderá impulsionar e agilizar seu fluxo de trabalho de desenvolvimento.

Docker possui muitos recursos que você pode usar para gerenciar seus aplicativos. Depois de dominar os principais recursos, você poderá explorar outros recursos complexos, como o Docker Swarm, usado para orquestrar aplicativos complexos.