Docker e aplicações
Como instalar Docker e Docker Compose no Ubuntu Server
O jeito recomendado de instalar o Docker em um servidor Ubuntu é pelo repositório oficial da Docker, que já traz o plugin do Compose. Veja o passo a passo e os cuidados de segurança.
Como instalar Docker e Docker Compose no Ubuntu Server
O Ubuntu tem um pacote docker.io nos próprios repositórios, mas ele costuma ficar atrás das versões atuais. O repositório oficial da Docker entrega o Docker Engine, o CLI, o containerd e o plugin do Docker Compose (o comando docker compose).
1. Remova pacotes antigos (se houver)
for p in docker.io docker-compose docker-compose-v2 podman-docker containerd runc; do
sudo apt-get remove -y $p
done2. Adicione o repositório oficial
sudo apt-get update
sudo apt-get 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 "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null3. Instale o Docker e o Compose
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin4. Teste
sudo docker run --rm hello-world
docker compose versionO serviço já fica habilitado para iniciar com o sistema. Confira com systemctl status docker.
Usar o Docker sem sudo: entenda o risco
É comum adicionar o usuário ao grupo docker para não digitar sudo. Mas quem está nesse grupo tem, na prática, poder de root no servidor. Faça isso só para usuários de confiança:
sudo usermod -aG docker $USER
# saia e entre de novo na sessão para valerCuidado com o firewall
Portas publicadas com -p ou ports no Compose são abertas pelo próprio Docker nas regras de rede do sistema e podem passar por cima de regras do UFW. Para serviços internos, como bancos de dados, não publique a porta ou publique só no endereço local:
ports:
- "127.0.0.1:5432:5432"Um primeiro compose
services:
web:
image: nginx:stable
ports:
- "80:80"
restart: unless-stoppedAtualizações
VPS com Docker pronto
O VPS para Docker é entregue com Docker Engine e Docker Compose instalados, acesso root e armazenamento NVMe.