- 1 1. Introdução
- 2 2. Instal Docker no Ubuntu
- 3 3. Operações Básicas com Imagens Docker
- 4 4. Criando Imagens Docker Personalizadas com Dockerfile
- 5 5. Configurando o Ambiente de Idioma Japonês em um Contêiner Ubuntu
- 6 6. Otimizando e Reduzindo o Tamanho das Imagens Docker
- 7 7. Guia Prático: Desenvolvendo Aplicações em um Contêiner Ubuntu
- 8 8. FAQ & Solução de Problemas
1. Introdução
O que é Docker?
Docker é uma plataforma que utiliza tecnologia virtualização baseada em contêineres para desenvolver, distribuir e executar aplicações de forma eficiente. Ao contrário das máquinas virtuais tradicionais (VMs), os contêineres compartilham o kernel do sistema operacional host, permitindo tempos de inicialização mais rápidos e menor consumo de recursos.
Benefícios de Usar Docker no Ubuntu
Ubuntu é uma das distribuições Linux altamente compatíveis com Docker. Os principais benefícios incluem:
- Suporte Oficial : Docker oferece suporte oficial ao Ubuntu, e a instalação é simples via repositório oficial.
- Gerenciamento de Pacotes Estável : O gerenciador de pacotes APT do Ubuntu facilita a administração das versões do Docker.
- Amplo Suporte da Comunidade : Ubuntu possui uma grande base de usuários global, facilitando a busca por soluções ao solucionar problemas.
O que Você Aprenderá Neste Artigo
Este artigo guiará você pelos seguintes tópicos passo a passo:
- Como instalar Docker no Ubuntu
- Operações básicas com imagens Docker
- Criação de imagens personalizadas usando Dockerfile
- Configuração do ambiente de idioma japonês em um contêiner Ubuntu
- Otimização e redução do tamanho de imagens Docker
- Desenvolvimento de aplicações em um contêiner Ubuntu
- Erros comuns e soluções de solução de problemas
Este guia é útil tanto para iniciantes quanto para usuários avançados, portanto sinta‑se à vontade para usá‑lo como referência.
2. Instal Docker no Ubuntu
Instalando Docker Usando o Repositório Oficial
No Ubuntu, você pode instalar Docker facilmente usando o repositório oficial. Siga os passos abaixo para configurá‑lo.
1. Remover Pacotes Docker Existentes
O Ubuntu fornece por padrão, um pacote chamado docker.io, mas ele pode ser uma versão desatualizada. Recomenda‑se removê‑lo primeiro.
sudo apt remove docker docker-engine docker.io containerd runc
- Instalar Pacotes Necessários
Antes de instalar o Docker, instale os pacotes de dependência necessários.
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
3. Adicionar o Repositório Oficial do Docker
Adicione a chave GPG oficial do Docker e configure o repositório.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4. Instalar Docker
Com o repositório adicionado, instale o Docker.
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
5. Verificar a Instalação
Para conferir se o Docker foi instalado corretamente, exiba as informações de versão.
docker --version
Configuração Inicial Após a Instalação
1 Iniciar e Habilitar o Serviço Docker
Inicie o serviço Docker e configure‑o para iniciar automaticamente na inicialização do sistema.
sudo systemctl start docker
sudo systemctl enable docker
2. Permitir que Usuários Não‑Root Usem Docker
Por padrão, apenas o usuário root pode executar Docker. Para permitir que um usuário comum use os comandos Docker, adicione‑o ao grupo docker.
sudo usermod -aG docker $USER
Para aplicar as alterações, faça logout e login novamente.
3. Testar Docker
Execute o contêiner hello‑world para verificar se o Docker está funcionando corretamente.
docker run hello-world
Se você vir a mensagem “Hello from Docker!”, a instalação foi bem‑sucedida.

3. Operações Básicas com Imagens Docker
O que é uma Imagem Docker?
Uma imagem Docker serve como modelo para a criação de contêineres. Ao usar uma imagem Docker baseada em Ubuntu, você pode configurar rapidamente um ambiente Ubuntu dentro de um contêiner.
Baixando Imagens Ubuntu do Docker Hub
O Docker Hub hospeda uma vasta coleção de imagens Docker oficiais. Para baixar uma imagem Ubuntu, use o comando a seguir:
docker pull ubuntu
Iniciando e Parando Contêineres
Você pode iniciar um contêiner usando a imagem Ubuntu baixada com o seguinte comando:
docker run -it ubuntu bash
Este comando abre um shell dentro do contêiner Ubuntu, permitindo que você interaja diretamente com ele.
Listando Contêineres em Execução
Para verificar quais contêineres estão atualmente em execução, use este comando:
docker ps
Para exibir todos os contêineres, incluindo os parados, adicione a opção -a:
docker ps -a
Parando e Removendo Contêineres
Para parar um contêiner em execução, use o seguinte comando:
docker stop [container ID or name]
Para remover um contêiner desnecessário, use este comando:
docker rm [container ID or name]
Gerenciando Imagens Docker
Para listar todas as imagens Docker baixadas, use o seguinte comando:
docker images
Para remover uma imagem não utilizada, use este comando:
docker rmi [image ID]
4. Criando Imagens Docker Personalizadas com Dockerfile
O que é um Dockerfile?
Um Dockerfile é um arquivo de configuração usado para criar imagens Docker. Ao definir instruções específicas em um Dockerfile, você pode construir imagens Docker personalizadas adaptadas às suas necessidades. Isso ajuda a padronizar ambientes de desenvolvimento e incluir pacotes necessários na imagem.
Sintaxe Básica de um Dockerfile
Um Dockerfile tipicamente inclui os seguintes comandos principais:
| Command | Description |
|---|---|
FROM | Specifies the base image |
RUN | Executes commands to build the image |
COPY | Copies files into the container |
WORKDIR | Sets the working directory |
CMD | Defines the default command to run when the container starts |
ENTRYPOINT | Specifies the main command executed when the container runs |
Criando uma Imagem Docker Personalizada Baseada em Ubuntu
Siga estes passos para criar uma imagem Docker personalizada baseada em Ubuntu.
1. Crie um Diretório de Trabalho
Primeiro, crie um novo diretório de projeto e navegue para ele.
mkdir my-ubuntu-image
cd my-ubuntu-image
2. Crie um Dockerfile
Dentro do diretório, crie um Dockerfile e adicione o seguinte conteúdo:
# Use the official Ubuntu base image
FROM ubuntu:latest
# Maintainer information (optional)
LABEL maintainer="your-email@example.com"
# Update package lists and install basic tools
RUN apt update && apt install -y curl vim git
# Set the working directory
WORKDIR /workspace
# Default command executed when the container starts
CMD ["bash"]
3. Construa a Imagem Docker
Use o seguinte comando para construir a imagem personalizada a partir do Dockerfile.
docker build -t my-ubuntu-image .
A opção -t atribui um nome à imagem.
4. Verifique a Imagem Construída
Verifique a lista de imagens disponíveis para garantir que a nova imagem foi criada com sucesso.
docker images
5. Execute um Contêiner a Partir da Imagem Personalizada
Inicie um contêiner usando a imagem personalizada recém-criada.
docker run -it my-ubuntu-image
Este contêiner deve incluir ferramentas como curl e vim, conforme especificado no Dockerfile.
5. Configurando o Ambiente de Idioma Japonês em um Contêiner Ubuntu
Por padrão, a imagem Docker Ubuntu está configurada para inglês. Se você precisar usar japonês, configurações adicionais são necessárias.
Configurando o Locale Japonês
Para habilitar a exibição e entrada em japonês em um contêiner Ubuntu, instale os pacotes de idioma necessários.
1. Instale os Pacotes Necessários
apt update
apt install -y language-pack-ja locales
2. Configure o Locale
Defina o locale e aplique as configurações.
locale-gen ja_JP.UTF-8
update-locale LANG=ja_JP.UTF-8
3. Aplique as Configurações
export LANG=ja_JP.UTF-8
Configurando a Entrada em Japonês
Para habilitar a entrada de texto em japonês no terminal, instale o ibus-mozc.
apt install -y ibus-mozc
Se você estiver usando um ambiente GUI, adicione as seguintes variáveis de ambiente:
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
Usando Aplicações GUI
Para executar aplicações GUI dentro de um contêiner Docker, você pode usar um servidor X.
Instale um servidor X na máquina host e execute o contêiner com X11 habilitado.
docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix my-ubuntu-image
6. Otimizando e Reduzindo o Tamanho das Imagens Docker
Otimizar imagens Docker melhora a velocidade de inicialização do contêiner e reduz o uso de armazenamento. Esta seção apresenta métodos para criar imagens leves.
Criando uma Imagem Baseada em Ubuntu Leve
A imagem padrão ubuntu:latest é relativamente grande. Para reduzir o tamanho do contêiner, considere usar uma alternativa menor como ubuntu:minimal.
FROM ubuntu:minimal
Alternativamente, você pode usar Alpine Linux, que é significativamente menor que o Ubuntu.
FROM alpine:latest
RUN apk add --no-cache bash curl
Este método pode reduzir o tamanho da imagem em várias centenas de megabytes.
Removendo Arquivos Desnecessários para Reduzir o Tamanho da Imagem
Após instalar pacotes com apt-get, você pode remover arquivos de cache desnecessários para minimizar o tamanho da imagem.
RUN apt update && apt install -y curl vim
&& apt clean
&& rm -rf /var/lib/apt/lists/*
O comando rm -rf /var/lib/apt/lists/* exclui a lista de pacotes, reduzindo dados desnecessários.
Usando Builds Multi-Estágio
Com builds multi-estágio, você pode usar um contêiner temporário para construir dependências enquanto mantém a imagem final leve.
FROM ubuntu as builder
RUN apt update && apt install -y gcc
FROM ubuntu:minimal
COPY --from=builder /usr/bin/gcc /usr/bin/gcc
Essa técnica permite excluir ferramentas de desenvolvimento desnecessárias da imagem final, tornando-a significativamente menor.
7. Guia Prático: Desenvolvendo Aplicações em um Contêiner Ubuntu
Nesta seção, configuraremos um ambiente de desenvolvimento dentro de um contêiner Ubuntu e demonstraremos como desenvolver aplicações usando Docker.
Configurando um Ambiente de Desenvolvimento Python
Para criar um ambiente de desenvolvimento Python dentro de um contêiner Docker, use o seguinte Dockerfile.
FROM ubuntu:latest
RUN apt update && apt install -y python3 python3-pip
CMD ["python3"]
Construa a imagem e execute o contêiner.
docker build -t python-dev .
docker run -it python-dev
Dentro do contêiner, você pode executar o comando python3 para rodar scripts Python e desenvolver aplicações.
Configurando um Ambiente de Desenvolvimento Node.js
Para desenvolvimento Node.js, use o seguinte Dockerfile.
FROM ubuntu:latest
RUN apt update && apt install -y nodejs npm
CMD ["node"]
Construa e execute o contêiner.
docker build -t node-dev .
docker run -it node-dev
Com essa configuração, você pode usar o comando node para executar código JavaScript e desenvolver aplicações em um ambiente controlado.
8. FAQ & Solução de Problemas
Ao usar Docker, você pode encontrar vários problemas. Esta seção fornece soluções para problemas comuns e perguntas frequentes.
Diferença Entre Docker e Máquinas Virtuais
- Docker: Compartilha o kernel do SO do host, tornando-o leve e permitindo inicialização rápida do contêiner.
- Máquinas Virtuais (VMs): Cada VM tem seu próprio SO, consumindo mais recursos e levando mais tempo para iniciar.
O Docker é mais eficiente no uso de recursos, tornando-o ideal para ambientes de desenvolvimento e implantações automatizadas.
Persistindo Dados em um Contêiner Ubuntu
Para reter dados mesmo após o contêiner ser parado, use montagem de volume.
docker run -v my_data:/data ubuntu
O volume my_data armazena dados de forma persistente, permitindo acesso mesmo após o contêiner ser removido.
Erros Comuns e Soluções
1. Erro permission denied
Se você vir um erro permission denied ao executar comandos Docker, seu usuário pode não estar no grupo docker.
Adicione seu usuário ao grupo docker com o seguinte comando:
sudo usermod -aG docker $USER
Após executar este comando, faça logout e login novamente para aplicar as alterações.
2. Erro image not found
Se uma imagem foi removida do Docker Hub, especifique uma tag diferente para puxar uma versão válida.
docker pull ubuntu:22.04
Ao especificar uma versão, você pode garantir que baixe uma imagem funcional.


