O Docker permite executar bancos de dados, aplicativos web e ferramentas em contêineres isolados, então instalar algo novo nunca bagunça o resto do seu servidor. Este guia instala o Docker Engine e o Docker Compose no Ubuntu e executa um primeiro serviço de verdade.
1. Instale a partir do repositório do Docker
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Verifique a instalação com sudo docker run hello-world.
2. Execute o Docker sem sudo
sudo usermod -aG docker $USER
newgrp docker
Membros do grupo docker têm, na prática, poder de root na máquina, então adicione apenas usuários em quem você confia.
3. Seu primeiro arquivo Compose
Crie uma pasta e um compose.yaml que execute a ferramenta de monitoramento Uptime Kuma:
mkdir -p ~/kuma && cd ~/kuma
cat > compose.yaml <<'EOF'
services:
kuma:
image: louislam/uptime-kuma:1
restart: unless-stopped
ports:
- "127.0.0.1:3001:3001"
volumes:
- ./data:/app/data
EOF
docker compose up -d
Vincular a 127.0.0.1 mantém a porta fora da internet pública. Coloque um proxy reverso como Nginx ou Caddy na frente quando quiser acessá-lo de fora.
Comandos do dia a dia
docker pslista os contêineres em execução.docker compose logs -facompanha os logs.docker compose pull && docker compose up -datualiza para imagens mais novas.docker system pruneremove imagens não utilizadas e contêineres parados.
Um aviso de segurança sobre firewalls
O Docker grava suas próprias regras de iptables. Uma porta publicada como "8080:80" pode ficar acessível pela internet mesmo que o UFW diga que está bloqueada. Publique apenas o que precisa ser público, vincule serviços privados a 127.0.0.1 e teste de fora com um scanner de portas.
O que executar em seguida
Aplicativos auto-hospedados populares incluem Nextcloud, Vaultwarden, Gitea, Plausible, n8n e Jellyfin. Veja nosso guia sobre como hospedar o Nextcloud por conta própria para um exemplo completo.