Ottenere la tua immagine personalizzata semplifica il lavoro con i contenitori e aggiunge un ulteriore livello di sicurezza. Jack Wallen ti mostra come.
I tuoi contenitori sono tutti basati su immagini, la maggior parte delle quali probabilmente estrai da DockerHub o da qualche altro repository pubblico. Ma perché non creare le tue immagini personalizzate? Dopotutto, è più facile per te non solo ottenere l'immagine esatta con cui devi lavorare, ma è anche un percorso migliore verso la sicurezza. È anche un ottimo modo per creare un'immagine di base che puoi utilizzare per un ambiente di sviluppo ripetibile (quindi ha esattamente gli strumenti di cui hai bisogno).
Ulteriori informazioni su Cloud
Ti mostrerò come puoi fare proprio questo:creare un'immagine da un contenitore utilizzando il motore di runtime Docker.
Di cosa avrai bisogno
Dimostrerò su Ubuntu Server 20.04, ma puoi farlo su qualsiasi piattaforma che supporti Docker. L'unica cosa che dovrai modificare è il processo di installazione di Docker. Avrai anche bisogno di un utente con privilegi sudo (per l'installazione).
Detto questo, mettiamoci al lavoro.
Come installare Docker
Per prima cosa installiamo Docker. Installeremo l'ultima versione dell'edizione community di Docker. Accedi al tuo server e installa le dipendenze necessarie con:
sudo apt-get install ca-certificates curl gnupg lsb-release -y
Al termine, aggiungi la chiave Docker GPG:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Quindi, aggiungi il repository Docker con il comando:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Aggiorna apt e installa Docker-ce con:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io -y
Aggiungi il tuo utente al gruppo Docker con:
sudo usermod -aG docker $USER
Esci e accedi nuovamente per rendere effettive le modifiche.
Come creare il tuo contenitore base
Utilizzeremo l'immagine ufficiale di Ubuntu per creare il nostro contenitore (che verrà utilizzato per creare la nuova immagine). Tiriamo giù l'ultima versione di Ubuntu da DockerHub e creiamo un contenitore chiamato ubuntu-test con il comando:
docker run -ti --name=ubuntu-test ubuntu:latest
A questo punto, dovresti trovarti al prompt bash del contenitore Ubuntu in esecuzione. Diciamo che questa nuova immagine verrà utilizzata per lo sviluppo Java. Installa l'ultimo ambiente di runtime Java. Primo aggiornamento apt con:
apt-get update
Quindi, installa l'ultimo JRE con:
apt-get install default-jre -y
Al termine dell'installazione, esci dal contenitore con:
exit
Come creare la nuova immagine
La prima cosa da fare è creare un commit per il container in esecuzione. Fallo con:
docker commette ubuntu-test
Successivamente, dobbiamo individuare l'ID del contenitore per la nostra istanza in esecuzione con il comando:
docker ps -a
Avvia il contenitore con:
docker start ID
Dove ID è l'ID contenitore per ubuntu-test.
Successivamente, dobbiamo trovare l'ID immagine con il comando:
docker images
Quando abbiamo eseguito il commit in precedenza, ha creato un'immagine senza tag o nome. Vedrai un'immagine elencata con sia l'ID che il nome. Questa è l'immagine che vogliamo taggare. Usando i primi quattro caratteri dell'ID immagine della nuova immagine, contrassegnala con:
docker tag ID ubuntu-test-base
Dove ID sono i primi quattro caratteri dell'ID contenitore per ubuntu-test. Ora, se emetti le immagini della finestra mobile dei comandi, vedrai la tua nuova immagine con il nome ubuntu-test-base. Puoi quindi distribuire un nuovo contenitore, utilizzando quella nuova immagine, con un comando come:
docker create --name ubuntu-jre ubuntu-test-base
E questo è tutto ciò che serve per creare un'immagine Docker personalizzata, basata su un contenitore modificato.
Iscriviti a Come far funzionare la tecnologia di TechRepublic su YouTube per ricevere tutti i consigli tecnologici più recenti per i professionisti aziendali da Jack Wallen.
Link sorgente