In questo articolo affronteremo i seguenti temi:
Precedentemente abbiamo visto come scrivere un Dockerfile per la creazione di un’immagine custom. Abbiamo anche visto come buildare l’immagine. Ora non ci resta che salvare l’immagine in un registry. In questo articolo vedremo come effettivamente fare il push dell’immagine all’interno di un registry privato.
Pushare un'immagine in un registry privato
Il registry
Una volta creato il nostro Dockerfile è conveniente spostarlo in una nuova directory
Un registry è un servizio che consente di archiviare e distribuire immagini di container. Esistono due macro-tipologie di registry:
- Pubblico: come per esempio Docker Hub in cui si può fare il pull delle immagini senza necessariamente autenticarsi, per quanto riguarda il push invece dipende dalla specifica configurazione del registry, infatti in alcuni registry sono necessarie le credenziali
- Privato: in questo caso sia per il push che per il pull è necessario autenticarsi. Possiamo sicuramente citare Docker Trusted Registry, Amazon Elastic Container Registry o Harbor
Attualmente abbiamo semplicemente la nostra immagine pronta all’uso:
Possiamo semplicemente tralasciare la cartella creata per effettuare il build dell’immagine. Faremo il push dell’immagine creata su un registry privato creato su Harbor.
Come è possibile vedere il registry ha un “Access Level” “Private” e attualmente è vuoto. Attualmente se dovessimo provare a fare un push verso questo registry non otterremmo altro se non un semplice errore.
Infatti nonostante abbiamo taggato l’immagine con il nome del registry privato…
1. r.deso.tech/antonello/nginx:ubuntu
…abbiamo ottenuto l’errore proprio perché di default non abbiamo eseguito il login su quel registry.
Per autenticarci basta usare il seguente comando e, successivamente, inserire la password:
1. docker login r.deso.tech/antonello
Push dell’immagine su un registry privato
Per fare il push è possibile usare il seguente comando:
1. docker login r.deso.tech/antonello
Attualmente l’immagine di cui desideriamo fare il push è r.deso.tech/antonello/nginx:ubuntu
Una volta dato il comando non ci resta che premere invio e avremo una schermata con barre di progresso
Ultimato il tutto ci si presenterà una schermata con un semplice recap.
A questo punto abbiamo correttamente fatto il push dell’immagine all’interno del registry. Anche sull’interfaccia web del registry possiamo vedere che il tutto funziona correttamente.
Pull dell’immagine
Analogamente, una volta fatto il login, non avremo alcun problema nell’effettuare il classico pull dell’immagine.
1. docker pull r.deso.tech/antonello/nginx:ubuntu
Logout
Possiamo ovviamente eseguire anche il logout semplicemente usando il seguente comando:
1. docker logout r.deso.tech
Se volete approfondire l’argomento, sfogliate i nostri cataloghi di corsi su Docker, Kubernetes e le altre tecnologie correlate!
Condividi l’articolo!!
-
Linkedin
-
Twitter
-
Facebook
-
Whatsapp
Scopri i nostri corsi!
Antonello Ciaccia
DevOps Instructor & Engineer
Amo la complessita e l’atto di semplificarla attraverso l’informatica. Conosco ed amo gli strumenti di automazione e di orchestrazione come Ansible e Kubernetes. Provo un crescente interesse nei confronti di argomenti quali AI, ML e Cloud!