PT
Iniciar sessão Criar conta

Como instalar Docker no Saplo (imagem própria ou docker-compose)

Docker é a opção mais flexível no catálogo Saplo - forneces o teu próprio Dockerfile ou docker-compose.yml, e o Saplo cria e executa a imagem. Se a aplicação não está disponível como uma receita pronta, mas tem uma imagem Docker oficial, é provável que a instales aqui.

Grzegorz Kalmus ·

O Docker não é uma stack de tecnologia específica, mas sim um ambiente de execução - tu dás o teu próprio Dockerfile ou docker-compose.yml, e o Saplo constrói a imagem e executa-a. Esta é a opção mais flexível em todo o catálogo: se a aplicação não estiver disponível como uma receita pronta (Ghost, n8n, WordPress e outras), mas tiver uma imagem Docker oficial ou um ficheiro compose, provavelmente consegues instalá-la aqui, sem teres de esperar que o Saplo adicione uma receita dedicada.

Para quem é o Docker no Saplo

Antes de começares a instalação, verifica se é a escolha certa para o teu projeto:

  • aplicação com uma imagem Docker pronta - a ferramenta que queres executar publica uma imagem oficial no Docker Hub ou GHCR,
  • vários serviços num único ficheiro docker-compose - aplicação mais base de dados, cache ou worker num único docker-compose.yml,
  • ferramenta que não está no catálogo como uma receita separada - o Docker dá acesso a qualquer software com imagem, sem esperar por uma receita dedicada,
  • tens um projeto com o teu próprio Dockerfile e queres controlo total sobre o ambiente de execução - dependências, versões de bibliotecas do sistema, tudo é definido por ti.

Se o teu projeto é Django com um Dockerfile pronto, considera também a stack Django dedicada - o Saplo irá construí-lo nativamente (gunicorn, nginx para ficheiros estáticos) sem a necessidade de escreveres a tua própria imagem.

Requisitos

Para instalares o Docker no Saplo, precisas de:

  • Uma Box no plano L ou superior - a criação da imagem exige mais recursos do que uma compilação estática normal, e o LXC tem de ter o daemon Docker em execução (nesting=1),
  • No mínimo 512 MB de RAM livre e 3 GB de espaço em disco para o starter, imagens e compilações mais pesadas exigem mais,
  • Um domínio ou subdomínio *.saploapp.pl incluído em cada plano,
  • Um repositório Git, se quiseres usar a implementação automática (opcional para começar, também podes carregar a aplicação como um arquivo .zip através do painel).

Instalação passo a passo

  1. No Painel Saplo, acede ao Catálogo de aplicações e seleciona Docker (categoria "Aplicações").
  2. Indica um Box no plano L ou superior e o nome da aplicação - a partir daqui, será criada uma subdomínio padrão.
  3. Confirma a instalação. O motor instala o Docker CE e o plugin docker compose no teu Box, caso ainda não os tenhas.
  4. É criado um starter docker-compose.yml com a imagem nginxdemos/hello mapeada para a porta da aplicação, iniciado com a opção restart: unless-stopped - para que haja algo visível no domínio, antes de implementares o teu próprio projeto.
  5. Após a conclusão da instalação, o domínio do passo 2 mostra o contentor inicial em funcionamento - a partir deste momento, substitui-o pela tua própria imagem ou ficheiro compose.

Implementar o teu próprio código através do Git

  1. Nos detalhes da aplicação, encontra a secção Git / CI-CD e clica em "Ligar GitHub", confirma a instalação da aplicação "Saplo Deploy" e indica o repositório com o projeto.
  2. No repositório, coloca o Dockerfile na raiz do projeto ou o docker-compose.yml, se a aplicação for composta por vários serviços - o Saplo deteta qual a variante que está no repo e cria-o adequadamente.
  3. No ficheiro saplo.yaml, indica a porta em que a tua aplicação está a ouvir, no campo expose - o nginx direcionará o tráfego de 80/443 para lá.
  4. Faz commit e envia as alterações para a branch de produção (por predefinição, main). Cada git push seguinte cria uma nova imagem e substitui o contentor.
  5. A imagem é criada diretamente na tua Box - builds mais pesados (grandes dependências, compilação nativa) exigem um plano superior.

Exemplo de um ficheiro saplo.yaml mínimo para o Docker:

name: my-project
stack: docker
expose: 8080

Docker na Saplo vs. alternativas

VPS próprio com Docker Railway / Render (implementar a partir de Dockerfile) Docker na Saplo
Configuração do Docker daemon fazes tu totalmente gerido pré-instalado, o motor adiciona os elementos em falta
Implementações a partir do Git tens de montar tu (CI/CD, webhooks) sim, nativamente sim, git push para o ramo de produção
Faturação custo fixo do servidor consumo de recursos, aumenta com o tráfego custo fixo da Box
Vários serviços num projeto (compose) configuras tu geralmente limitado a um contentor docker-compose.yml detetado automaticamente

Perguntas frequentes

Dockerfile ou docker-compose - o que escolher? Ambos funcionam. Dockerfile é suficiente para um serviço único, escolhe docker-compose quando a aplicação precisa de vários contentores lado a lado, por exemplo, serviços mais Redis.

Posso ter vários contentores num único ficheiro compose? Sim, o ficheiro inteiro docker-compose.yml é executado em conjunto, mantendo a rede entre os serviços.

A imagem é construída na minha Box ou externamente? Na tua Box - daí os requisitos de plano mais altos para compilações mais pesadas do que para páginas estáticas simples.

E os dados que devem sobreviver ao reinício do contentor? Os volumes funcionam como no Docker normal. Lembra-te de ativar o backup nas definições da aplicação se os dados precisarem de ser protegidos.

Receberei SSL e um domínio próprio? Sim, o certificado SSL é automático, e um domínio ou subdomínio *.saploapp.pl está incluído no preço de qualquer plano.

No Saplo, configuras o Docker do zero até teres um domínio funcional em minutos, e cada git push subsequente constrói uma nova imagem e substitui o contentor sem a tua intervenção. Se procuras uma ferramenta específica com uma imagem Docker que ainda não está disponível como uma receita pronta no catálogo, esta é a forma mais rápida de a executar.

  • #Docker
  • #Docker Compose
  • #Git Deploy
  • #Guia