Tutoriais

Como instalar e usar Docker no seu VPS

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 ubuntu por debian nas 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 docker equivale 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.

Compartilhar:

Pronto para hospedar seu próximo projeto?

VPS com painel pré-instalado em 1 clique. Ativação imediata.

Ver planos VPS