IT
Accedi Crea un account

Come installare Docker su Saplo (immagine personalizzata o docker-compose)

Docker è l'opzione più flessibile nel catalogo Saplo: puoi fornire il tuo Dockerfile o docker-compose.yml, e Saplo costruirà e avvierà l'immagine. Se un'applicazione non è disponibile come ricetta pronta ma ha un'immagine Docker ufficiale, probabilmente la installerai qui.

Grzegorz Kalmus ·

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.pl incluso 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 .zip attraverso il pannello).

Installazione passo dopo passo

  1. Nel Pannello Saplo, vai su Catalogo delle applicazioni e seleziona Docker (categoria "Applicazioni").
  2. Indica il Box nel piano L o superiore e il nome dell'applicazione - da questo viene creato il sottodominio predefinito.
  3. Conferma l'installazione. Il motore installa Docker CE e il plugin docker compose nel tuo Box, se non sono già presenti.
  4. Viene creato lo starter docker-compose.yml con l'immagine nginxdemos/hello mappata sulla porta dell'applicazione, avviato con l'opzione restart: unless-stopped - così c'è subito qualcosa da vedere sotto il dominio, prima che tu distribuisca il tuo progetto.
  5. 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

  1. 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.
  2. Nella root del repository, inserisci il file Dockerfile oppure docker-compose.yml se l'applicazione è composta da più servizi - Saplo rileva quale variante è presente nel repository e la costruisce di conseguenza.
  3. Nel file saplo.yaml, specifica la porta su cui la tua applicazione è in ascolto utilizzando il campo expose - nginx reindirizzerà il traffico dalla porta 80/443.
  4. Effettua il commit e il push delle modifiche sul ramo di produzione (per impostazione predefinita main). Ogni successivo git push costruisce una nuova immagine e sostituisce il container.
  5. 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