Como instalar e usar Docker no seu VPS
O Docker empacota aplicações e suas dependências em containers: ambientes isolados, leves e reproduzíveis. Com ele, você sobe bancos de dados, aplicações e ferramentas em segundos, sem "sujar" o sistema.
Por que usar Docker em um VPS
- Isolamento: cada aplicação com suas próprias versões de dependências;
- Reprodutibilidade: o que funciona no seu computador funciona no servidor;
- Facilidade: milhares de imagens prontas (bancos, CMSs, ferramentas);
- Atualização e rollback simples.
Para rodar Docker sem restrições, o VPS precisa de virtualização completa (como KVM).
Instalação pelo repositório oficial (Ubuntu)
Remova pacotes antigos, se houver:
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt remove -y $pkg; done
Adicione o repositório oficial:
sudo apt update
sudo apt install ca-certificates curl -y
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
No Debian, troque
ubuntupordebiannas duas URLs.
Instale:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Teste:
sudo docker run hello-world
Usar sem sudo (opcional)
sudo usermod -aG docker $USER
# saia e entre novamente na sessão
Pertencer ao grupo
dockerequivale a ter privilégios de root. Adicione apenas usuários de confiança.
Comandos essenciais
docker ps # containers em execução
docker ps -a # todos os containers
docker images # imagens baixadas
docker pull nginx # baixa uma imagem
docker run -d --name web -p 8080:80 nginx # executa em segundo plano
docker logs -f web # logs
docker exec -it web sh # acessa o container
docker stop web && docker rm web
docker system df # espaço usado
docker system prune # limpa o que não está em uso
Persistindo dados com volumes
Containers são descartáveis; dados importantes devem ficar em volumes:
docker volume create dados-pg
docker run -d --name postgres \
-e POSTGRES_PASSWORD=senha_forte \
-v dados-pg:/var/lib/postgresql/data \
-p 127.0.0.1:5432:5432 \
--restart unless-stopped \
postgres:16
Repare em 127.0.0.1:5432:5432: a porta fica acessível apenas localmente.
Atenção ao firewall
O Docker cria regras de firewall próprias, e portas publicadas com -p 8080:80 podem ficar acessíveis pela internet mesmo com o UFW bloqueando. Boas práticas:
- Publique no localhost (
127.0.0.1:porta:porta) e use um proxy reverso (Nginx, Traefik, Caddy); - Exponha publicamente só as portas 80 e 443 do proxy.
Logs e espaço em disco
Limite o tamanho dos logs em /etc/docker/daemon.json:
{
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "3" }
}
sudo systemctl restart docker
Próximo passo: Docker Compose
Para aplicações com vários serviços (app + banco + cache), use o Docker Compose — temos um post dedicado aqui no blog.
Conclusão
Com Docker, seu VPS vira uma plataforma flexível para qualquer aplicação. E com armazenamento NVMe, baixar imagens e subir containers fica ainda mais rápido.Conheça os planos VPS-NVME-BR da VittHost e use o cupom SP-VITT20 para ganhar 20% de desconto na primeira fatura enquanto a promoção estiver ativa.