JanelasMacSoftwareConfiguraçõesSegurançaProdutividadeLinuxAndroidDesempenhoConfiguraçãoApple Tudo

Como usar o Docker Desktop para desenvolvimento local

Editado 2 meses atrás por ExtremeHow Equipe Editorial

Docker DesktopDesenvolvimentoUsoDesenvolvimento de SoftwareDevOpsAmbiente LocalComputação em NuvemVirtualizaçãoProdutividadeFluxo de Trabalho

Tradução atualizada 2 meses atrás

Desenvolvimento local refere-se ao processo de escrever e testar seu código em sua máquina local antes de implantá-lo em um servidor de produção. O Docker Desktop é uma ferramenta útil que permite aos desenvolvedores executar aplicativos em contêiner localmente, tornando o processo de desenvolvimento local mais eficiente, escalável e gerenciável. Este documento fornece um guia detalhado sobre como usar o Docker Desktop para desenvolvimento local, mesmo que você seja novo nesses conceitos. Ao final do guia, você deve ter uma compreensão clara do Docker, Docker Desktop e como usá-los efetivamente no seu fluxo de trabalho de desenvolvimento local. Vamos começar.

Compreendendo o Docker e o Docker Desktop

Antes de mergulhar no Docker Desktop, é importante entender o que é o Docker. Docker é uma plataforma que permite desenvolver, enviar e executar aplicativos em contêineres. Os contêineres permitem que você embale um aplicativo com todas as suas dependências e configurações em uma única unidade que pode ser executada de maneira consistente em diferentes ambientes. Essa consistência garante que o aplicativo se comporte da mesma forma durante o desenvolvimento, teste e produção.

Docker Desktop é um aplicativo para construção e compartilhamento de aplicativos e microsserviços em contêiner para máquinas MacOS e Windows. Docker Desktop inclui Docker Engine, Docker CLI Client, Docker Compose, Docker Content Trust, Kubernetes e Credential Helper. É uma solução abrangente para desenvolvedores que precisam construir, gerenciar e implantar aplicativos em contêineres localmente. Com o Docker Desktop, você obtém uma interface direta e um rico conjunto de ferramentas para gerenciar contêineres, tornando-o uma escolha preferida para desenvolvedores que trabalham em projetos locais.

Configurando o Docker Desktop

Instalação

Primeiro, você precisa instalar o Docker Desktop em sua máquina. Siga estas etapas:

  1. Visite a página oficial do Docker Desktop.
  2. Baixe o instalador apropriado para seu sistema operacional (Windows ou Mac).
  3. Execute o instalador e siga as instruções na tela. O instalador solicitará permissões administrativas, certifique-se de que as possui.
  4. Após a conclusão da instalação, o Docker Desktop será iniciado automaticamente ou você pode iniciá-lo manualmente no menu Aplicativos.
  5. Para verificar a instalação, abra uma janela de terminal (ou prompt de comando no Windows) e digite o comando: docker --version. Isso deve exibir a versão do Docker se estiver instalado corretamente.

Layout

Após a instalação, você pode precisar fazer alguma configuração inicial:

Usando o Docker Desktop para desenvolvimento local

Criando Dockerfiles

Todo contêiner que você executa no Docker é construído usando um Dockerfile. Um Dockerfile é um arquivo de texto simples que contém instruções para construir uma imagem Docker. Aqui está um exemplo básico de um Dockerfile para um aplicativo Python simples:

# Use uma imagem base oficial do Python como imagem principal FROM python:3.8-slim # Define o diretório de trabalho WORKDIR /app # Copia o conteúdo do diretório atual para o contêiner em /app COPY . /app # Instala os pacotes necessários especificados em requirements.txt RUN pip install --no-cache-dir -r requirements.txt # Torna a porta 80 disponível para o mundo fora deste contêiner EXPOSE 80 # Executa app.py quando o contêiner é iniciado CMD ["python", "app.py"]
# Use uma imagem base oficial do Python como imagem principal FROM python:3.8-slim # Define o diretório de trabalho WORKDIR /app # Copia o conteúdo do diretório atual para o contêiner em /app COPY . /app # Instala os pacotes necessários especificados em requirements.txt RUN pip install --no-cache-dir -r requirements.txt # Torna a porta 80 disponível para o mundo fora deste contêiner EXPOSE 80 # Executa app.py quando o contêiner é iniciado CMD ["python", "app.py"]

Este Dockerfile realiza as seguintes tarefas:

Criando imagens Docker

Depois de ter um Dockerfile, você pode construir uma imagem Docker. Vá para o diretório que contém seu Dockerfile no terminal e execute o seguinte comando:

 docker build -t my-python-app .

A descrição detalhada deste comando é a seguinte:

Executando um contêiner Docker

Depois de construir sua imagem, você pode executá-la como um contêiner. Use o seguinte comando para iniciar um contêiner a partir da sua imagem:

 docker run -d -p 4000:80 my-python-app

Explicação deste comando:

Docker Compose

Ao trabalhar em desenvolvimento local, especialmente com aplicativos que consistem em vários serviços ou microsserviços, o processo de gerenciamento desses serviços pode ser simplificado usando o Docker Compose. Docker Compose é uma ferramenta para definir e executar aplicativos Docker de múltiplos contêineres. Aqui está um exemplo de arquivo docker-compose.yml:

version: '3' services: web: image: my-python-app ports: - "4000:80" database: image: postgres environment: POSTGRES_USER: example POSTGRES_PASSWORD: example
version: '3' services: web: image: my-python-app ports: - "4000:80" database: image: postgres environment: POSTGRES_USER: example POSTGRES_PASSWORD: example

neste exemplo:

Para iniciar seu aplicativo de múltiplos contêineres especificado no docker-compose.yml, execute o seguinte comando no terminal:

 docker-compose up

Este comando cria, (re)cria, inicia e anexa contêineres a um serviço. Você pode parar o aplicativo usando docker-compose down, que irá parar e remover contêineres.

Gerenciando contêineres Docker

Uma vez que seus contêineres estão em execução, você pode precisar realizar uma variedade de tarefas de gerenciamento. Aqui estão alguns comandos comuns:

Enviando para o Docker Hub

Se você quiser compartilhar suas imagens Docker com outros ou usá-las em outros sistemas, você pode enviá-las para o Docker Hub, um repositório baseado em nuvem. Aqui está como você pode fazer isso:

  1. Faça login no Docker Hub a partir do seu terminal usando docker login.
  2. Marque sua imagem local para prepará-la para o upload: docker tag my-python-app <your-username>/my-python-app.
  3. Envie a imagem: docker push <your-username>/my-python-app.

Uma vez enviada, sua imagem estará disponível em sua conta do Docker Hub, e você poderá puxá-la para outras máquinas usando docker pull <your-username>/my-python-app.

Melhores práticas para usar o Docker Desktop

Controle de versão para Dockerfiles

Sempre inclua seus Dockerfiles no seu sistema de controle de versão. Isso garante que a configuração exata do ambiente do contêiner seja rastreada com o código-fonte do seu aplicativo. Esta prática ajudará qualquer pessoa que trabalhe no seu aplicativo, incluindo você mesmo no futuro, a criar ambientes facilmente.

Mantenha as imagens Docker pequenas

Imagens Docker grandes demoram mais tempo para construir, transferir e executar. Portanto, reduzir o tamanho da imagem é muito importante para a eficiência. Você pode reduzir o tamanho da imagem por:

Aqui está um exemplo de um Dockerfile de múltiplos estágios:

# Estágio de construção FROM golang:1.15 as builder WORKDIR /app COPY . . RUN go build -o myapp # Estágio final FROM alpine:latest WORKDIR /app COPY --from=builder /app/myapp . ENTRYPOINT ["./myapp"]
# Estágio de construção FROM golang:1.15 as builder WORKDIR /app COPY . . RUN go build -o myapp # Estágio final FROM alpine:latest WORKDIR /app COPY --from=builder /app/myapp . ENTRYPOINT ["./myapp"]

Considerações de segurança

A segurança não deve ser negligenciada ao trabalhar com Docker. Aqui estão algumas práticas para reforçar a segurança:

Monitoramento e log

Estabeleça um sistema de log e monitoramento para o seu ambiente Docker. Considere usar ferramentas como o driver de log nativo do Docker, Prometheus para métricas e Grafana para visualizações de dados impressionantes. Com monitoramento adequado, você obterá insights sobre o comportamento e desempenho dos seus contêineres, permitindo reagir rapidamente a quaisquer problemas.

Conclusão

O Docker Desktop é uma ferramenta essencial para desenvolvedores que desejam aproveitar a tecnologia de contêineres em suas máquinas de desenvolvimento local. Ao permitir que aplicativos sejam executados em contêineres separados, o Docker Desktop simplifica a configuração e o gerenciamento de ambientes de desenvolvimento. Ele aumenta a estabilidade e reduz o problema de garantir que funcione na minha máquina ao empacotar tudo o que é necessário para executar o aplicativo.

Este guia fornece uma visão abrangente do Docker Desktop, desde a instalação e configuração até a criação e execução de contêineres e melhores práticas para usar o Docker no desenvolvimento local. Ao integrar o Docker Desktop em seus processos de desenvolvimento, você ganha um poderoso aliado na construção, teste e implantação de aplicativos robustos de forma mais eficiente.

Como com qualquer tecnologia, a chave para dominar o Docker, e por extensão o Docker Desktop, é a prática consistente e o aprendizado contínuo. Quanto mais você aplicar esses princípios e explorar o vasto ecossistema de ferramentas e recursos do Docker, mais proficiente você se tornará.

Se você encontrar algo errado com o conteúdo do artigo, você pode


Comentários