Logo

Publicado

- 3 min read

Introdução ao Docker: Facilite seu Desenvolvimento com Containers!

img of Introdução ao Docker: Facilite seu Desenvolvimento com Containers!

Introdução ao Docker

Se você já enfrentou problemas de “funciona na minha máquina”, o Docker pode ser a solução que você está procurando! Docker é uma plataforma que permite empacotar aplicativos e suas dependências em containers. Esses containers são leves, portáveis e garantem que o seu aplicativo funcione em qualquer lugar sem a necessidade de reconfigurações complicadas. Neste post, vamos explorar os conceitos básicos do Docker e como você pode usá-lo em seus projetos.

Pré-requisitos

Para acompanhar este tutorial, você precisará de:

  • Conhecimento básico de linha de comando
  • Uma instalação recente do Docker em seu computador. (Você pode baixar aqui)
  • Uma ferramenta de texto (como Visual Studio Code)

Conceitos Principais

O que é um Container?

Um container é uma unidade de software que empacota o código, as bibliotecas e as dependências necessárias para o seu aplicativo. Containers são isolados uns dos outros e do sistema operacional hospedado, o que garante que não haja conflitos entre eles.

Docker Image

Uma imagem Docker é uma versão imutável e leve de um aplicativo, que pode ser usada para criar containers. Você pode pensar nela como um modelo a partir do qual você cria containers.

Dockerfile

Um Dockerfile é um arquivo de texto que contém todas as instruções necessárias para montar uma imagem Docker. Aqui está um exemplo simples de um Dockerfile:

   # Use uma imagem base do Node.js
FROM node:14

# Crie e defina o diretório de trabalho
WORKDIR /app

# Copie os arquivos package.json e package-lock.json
COPY package*.json ./

# Instale as dependências
RUN npm install

# Copie o restante do código fonte
COPY . .

# Exponha a porta em que o aplicativo vai rodar
EXPOSE 3000

# Comando para executar o aplicativo
CMD ["npm", "start"]

Mini-projeto Prático: Criando um Servidor Web com Express

Neste mini-projeto, vamos criar um simples servidor web usando Node.js e Express, empacotá-lo em um container Docker e executá-lo.

  1. Crie um diretório para o projeto:
      mkdir my-docker-app
   cd my-docker-app
  1. Inicialize um novo projeto Node.js:
      npm init -y
   npm install express
  1. Crie um arquivo server.js:
   const express = require('express')
const app = express()
const PORT = 3000

app.get('/', (req, res) => {
	res.send('Olá, Docker!')
})

app.listen(PORT, () => {
	console.log(`Servidor rodando na porta ${PORT}`)
})
  1. Crie o Dockerfile neste diretório, colando o código fornecido acima.
  2. Construa a imagem Docker:
      docker build -t my-docker-app .
  1. Execute o container:
      docker run -p 3000:3000 my-docker-app

Acesse http://localhost:3000 no seu navegador, e você deverá ver “Olá, Docker!“.

Padrões de Projeto Aconselháveis

  • Mantenha as imagens pequenas: Use imagens base menores sempre que possível.
  • Evite instalar dependências desnecessárias: Isso reduz o tamanho da imagem e o tempo de construção.
  • Use cache com sabedoria: Organize o Dockerfile para maximizar o caching e acelerar o processo de construção.

Próximos Passos

  • Aprenda sobre Docker Compose para gerenciar múltiplos containers.
  • Explore o registro do Docker Hub e como compartilhar suas imagens.
  • Faça cursos online sobre Docker e conteinerização.

Possíveis Erros e Soluções

  • Erro: “Cannot locate specified Dockerfile”:
    • Solução: Verifique se o Dockerfile está no diretório atual e se o nome está correto.
  • Erro: “Porta já em uso”:
    • Solução: Altere a porta que você está tentando expor no comando docker run, ou pare o processo que está usando essa porta.

Materiais de Apoio

Docker é uma ferramenta poderosa que pode acelerar seu fluxo de trabalho, e este guia básico é só o começo. Boa sorte na sua jornada com containers!

Relacionados

Sem posts relacionados. 😢