Docker non è uno stack tecnologico specifico, ma un ambiente di runtime: fornisci il tuo Dockerfile o docker-compose.yml, e Saplo crea l'immagine e la avvia. È l'opzione più flessibile dell'intero catalogo: se l'applicazione non è disponibile come ricetta pronta (Ghost, n8n, WordPress e altre), ma ha un'immagine Docker ufficiale o un file compose, probabilmente la installerai qui, senza aspettare che Saplo aggiunga una ricetta dedicata.
A chi è rivolto Docker su Saplo
Prima di iniziare l'installazione, verifica se è la scelta giusta per il tuo progetto:
- applicazione con immagine Docker pronta - lo strumento che vuoi eseguire pubblica un'immagine ufficiale su Docker Hub o GHCR,
- più servizi in un unico file docker-compose - applicazione più database, cache o worker in un unico
docker-compose.yml, - strumento non presente nel catalogo come ricetta separata - Docker ti dà accesso a qualsiasi software con un'immagine, senza aspettare una ricetta dedicata,
- hai un progetto con il tuo Dockerfile e vuoi il pieno controllo sull'ambiente di esecuzione - dipendenze, versioni delle librerie di sistema, tutto definito da te.
Se il tuo progetto è Django con un Dockerfile pronto, considera anche lo stack Django dedicato - Saplo lo costruirà nativamente (gunicorn, nginx per i file statici) senza dover scrivere la tua immagine.
Requisiti
Per installare Docker su Saplo, hai bisogno di:
- Un Box con piano L o superiore - la creazione di un'immagine richiede più risorse di una normale build statica, e LXC deve avere il Docker daemon in esecuzione (nesting=1),
- Almeno 512 MB di RAM libera e 3 GB di spazio su disco per lo starter stesso; immagini e build più pesanti richiedono di più,
- Un dominio o sottodominio
*.saploapp.plincluso nel prezzo di ogni piano, - Un repository Git, se desideri utilizzare la distribuzione automatica (opzionale per iniziare, puoi anche caricare l'applicazione tramite un archivio
.zipattraverso il pannello).
Installazione passo dopo passo
- Nel Pannello Saplo, vai su Catalogo delle applicazioni e seleziona Docker (categoria "Applicazioni").
- Indica il Box nel piano L o superiore e il nome dell'applicazione - da questo viene creato il sottodominio predefinito.
- Conferma l'installazione. Il motore installa Docker CE e il plugin docker compose nel tuo Box, se non sono già presenti.
- Viene creato lo starter
docker-compose.ymlcon l'immaginenginxdemos/hellomappata sulla porta dell'applicazione, avviato con l'opzionerestart: unless-stopped- così c'è subito qualcosa da vedere sotto il dominio, prima che tu distribuisca il tuo progetto. - Al termine dell'installazione, il dominio del passo 2 mostra il contenitore di avvio funzionante - da questo momento lo sostituisci con la tua immagine o file compose.
Distribuisci il tuo codice via Git
- Nei dettagli dell'applicazione, trova la sezione Git / CI-CD e clicca su "Connetti GitHub", conferma l'installazione dell'applicazione "Saplo Deploy" e seleziona il repository del progetto.
- Nella root del repository, inserisci il file
Dockerfileoppuredocker-compose.ymlse l'applicazione è composta da più servizi - Saplo rileva quale variante è presente nel repository e la costruisce di conseguenza. - Nel file
saplo.yaml, specifica la porta su cui la tua applicazione è in ascolto utilizzando il campoexpose- nginx reindirizzerà il traffico dalla porta 80/443. - Effettua il commit e il push delle modifiche sul ramo di produzione (per impostazione predefinita
main). Ogni successivogit pushcostruisce una nuova immagine e sostituisce il container. - L'immagine viene costruita direttamente nel tuo Box - build più pesanti (grandi dipendenze, compilazione nativa) richiedono un piano superiore.
Esempio di un file saplo.yaml minimale per Docker:
name: my-project
stack: docker
expose: 8080
Docker su Saplo contro le alternative
| VPS proprio con Docker | Railway / Render (deploy da Dockerfile) | Docker su Saplo | |
|---|---|---|---|
| Configurazione Docker daemon | la fai tu | completamente gestita | preinstallato, il motore aggiunge gli elementi mancanti |
| Deploy da Git | devi assemblarlo tu (CI/CD, webhook) | sì, nativamente | sì, git push sul ramo di produzione |
| Fatturazione | costo fisso del server | consumo delle risorse, aumenta con il traffico | costo fisso del Box |
| Più servizi in un progetto (compose) | li configuri tu | di solito limitato a un container | docker-compose.yml rilevato automaticamente |
Domande frequenti
Dockerfile o docker-compose - cosa scegliere? Entrambi funzionano. Dockerfile è sufficiente per un singolo servizio, scegli docker-compose quando un'applicazione ha bisogno di più container affiancati, ad esempio servizi più Redis.
Posso avere più container in un singolo file compose?
Sì, l'intero file docker-compose.yml viene eseguito insieme, mantenendo la rete tra i servizi.
L'immagine viene creata sul mio Box o esternamente? Sul tuo Box - da qui i requisiti di piano più elevati per build più complesse rispetto a semplici siti statici.
E i dati che devono sopravvivere al riavvio del container? I volumi funzionano come nel Docker standard. Ricorda di abilitare il backup nelle impostazioni dell'applicazione se i dati devono essere protetti.
Otterrò SSL e un Dominio personalizzato?
Sì, il certificato SSL è automatico e un Dominio o sottodominio *.saploapp.pl è incluso nel prezzo di ogni piano.
Su Saplo, puoi installare Docker da zero a un Dominio funzionante in pochi minuti, e ogni successivo git push crea una nuova immagine e sostituisce il container senza il tuo intervento. Se stai cercando uno strumento specifico con un'immagine Docker che non è ancora disponibile come ricetta pronta nel Catalogo delle applicazioni, questo è il modo più rapido per eseguirlo.
- #Docker
- #Docker Compose
- #Git Deploy
- #Guida
