Docker é uma plataforma poderosa que permite criar, enviar e rodar contêineres de software de maneira simples e eficiente. Neste post, vamos explorar como você pode criar uma imagem Docker, enviá-la para um repositório como o Docker Hub e, em seguida, rodar um contêiner a partir dessa imagem.
Passo 1: Criando a Imagem Docker
O primeiro passo é criar um Dockerfile, que é um arquivo de texto contendo todas as instruções necessárias para construir sua imagem Docker. Vamos criar um Dockerfile básico para uma aplicação Python.
Exemplo de Dockerfile
# Use uma imagem base
FROM ubuntu:20.04
# Instale dependências
RUN apt-get update && apt-get install -y \
python3 \
python3-pip
# Copie o código-fonte para o contêiner
COPY . /app
# Defina o diretório de trabalho
WORKDIR /app
# Instale dependências Python
RUN pip3 install -r requirements.txt
# Defina o comando padrão
CMD ["python3", "app.py"]
Construindo a Imagem
Navegue até o diretório que contém o Dockerfile e execute o comando docker build
para criar a imagem. Use a flag -t
para nomear (tag) a imagem:
docker build -t minha-aplicacao:latest .
Este comando cria uma imagem chamada minha-aplicacao
com a tag latest
.
Passo 2: Enviando a Imagem para o Docker Hub
Para compartilhar sua imagem com outras pessoas ou usá-la em diferentes ambientes, você pode enviá-la para o Docker Hub.
Faça Login no Docker Hub
Primeiro, autentique-se no Docker Hub:
docker login
Isso pedirá seu nome de usuário e senha do Docker Hub.
Nomeando a Imagem
Para enviar a imagem, ela precisa estar nomeada no formato seu-usuario/seu-repositorio:tag
. Você pode renomear sua imagem localmente usando o comando docker tag
:
docker tag minha-aplicacao:latest seu-usuario/meu-repo:v1.0
Enviando a Imagem
Use o comando docker push
para enviar sua imagem para o Docker Hub:
docker push seu-usuario/meu-repo:v1.0
Passo 3: Rodando a Imagem Docker
Com a imagem disponível no Docker Hub, você pode rodar um contêiner a partir dela.
Executando o Contêiner
Para rodar o contêiner, use o comando docker run
:
docker run seu-usuario/meu-repo:v1.0
Se você quiser rodar o contêiner em segundo plano (modo “detached”), adicione a flag -d
:
docker run -d seu-usuario/meu-repo:v1.0
Mapeando Portas e Nomeando Container
Se sua aplicação precisa expor uma porta (por exemplo, uma aplicação web), você pode mapear a porta do contêiner para uma porta no host:
docker run --name nome_do_container -d -p 8080:80 seu-usuario/meu-repo:v1.0
Montando Volumes
Para persistir dados ou compartilhar diretórios entre o host e o contêiner, use a flag -v
:
docker run -d -v /data:/app/data seu-usuario/meu-repo:v1.0
Definindo Variáveis de Ambiente
Se sua aplicação precisar de variáveis de ambiente, você pode defini-las usando a flag -e
:
docker run -d -e "MY_VAR=value" seu-usuario/meu-repo:v1.0
Com esses passos, você agora sabe como criar uma imagem Docker, enviá-la para o Docker Hub e rodar um contêiner a partir dela. Docker é uma ferramenta poderosa que facilita muito o desenvolvimento e a implantação de aplicações. Experimente e veja como ele pode simplificar seus fluxos de trabalho!