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.plincluí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
.zipatravés do painel).
Instalação passo a passo
- No Painel Saplo, acede ao Catálogo de aplicações e seleciona Docker (categoria "Aplicações").
- Indica um Box no plano L ou superior e o nome da aplicação - a partir daqui, será criada uma subdomínio padrão.
- Confirma a instalação. O motor instala o Docker CE e o plugin docker compose no teu Box, caso ainda não os tenhas.
- É criado um starter
docker-compose.ymlcom a imagemnginxdemos/hellomapeada para a porta da aplicação, iniciado com a opçãorestart: unless-stopped- para que haja algo visível no domínio, antes de implementares o teu próprio projeto. - 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
- 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.
- No repositório, coloca o
Dockerfilena raiz do projeto ou odocker-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. - No ficheiro
saplo.yaml, indica a porta em que a tua aplicação está a ouvir, no campoexpose- o nginx direcionará o tráfego de 80/443 para lá. - Faz commit e envia as alterações para a branch de produção (por predefinição,
main). Cadagit pushseguinte cria uma nova imagem e substitui o contentor. - 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
