Docker rende possibile avere più versioni della stessa app in esecuzione su uno stesso host in modo separato e isolato, grazie alla sua caratteristica di containerizzazione.
Ecco i passaggi di base per farlo:
1. Prepara le diverse versioni dell’app: prima di tutto, dovrai preparare le diverse versioni della tua app che vuoi eseguire. Questo potrebbe comportare la scrittura di diversi Dockerfile per ciascuna versione dell’app, o la creazione di diverse immagini Docker utilizzando il tuo Dockerfile esistente.
1. Crea le immagini Docker: una volta preparate le versioni dell’app, crea le immagini Docker per ciascuna di esse. Questo viene fatto utilizzando il comando `docker build`, che richiede un Dockerfile come input e produce un’immagine Docker come output.
1. Esegui i container Docker: ora che hai le diverse immagini Docker, puoi eseguire i container Docker per ciascuna di esse. Questo viene fatto con il comando `docker run`. Assicurati di eseguirli su porte diverse se hanno bisogno di esporre qualsiasi porta al tuo host.
Ad esempio, se hai due versioni della tua app, v1 e v2, e hanno bisogno di esporre la porta 8080, potresti eseguire v1 sulla porta 8081 del tuo host e v2 sulla porta 8082 del tuo host. Puoi fare ciò utilizzando opzioni di run come `-p 8081:8080` per v1 e `-p 8082:8080` per v2.
1. Gestione dei container Docker: ora che i tuoi container Docker sono in esecuzione, puoi gestirli utilizzando vari comandi Docker. Per esempio, `docker ps` ti mostra tutti i container in esecuzione e il loro stato, `docker stop` ti permette di fermare un container, `docker start` ti permette di avviarlo, e così via.
Ciò che rende tutto questo possibile è l’isolamento fornito da Docker, che consente a ciascun container di essere eseguito come se fosse su una propria macchina virtuale, con le sue stesse dipendenze e configurazione.