Avvicinandoti a Docker avrai sentito parlare di Docker Repository e ti sarai chiesto di cosa si tratta. Siediti comodo che in questa mini guida ti spieghiamo tutto nel dettaglio.
Un Docker repository è un contenitore che contiene una o più Docker image relative ad un software o ad un progetto. Perché più Docker image se il software è sempre lo stesso? Perché di un software si possono avere più versioni.
Ogni volta che lo sviluppatore del software rilascia una nuova versione crea una nuova Docker Image, con lo stesso nome, ma con una versione diversa e successivamente pubblica l’immagine sullo stesso repository.
Per assegnare una nuova versione a un’immagine Docker è sufficiente assegnare un tag al momento della build, ad esempio:
$ docker build. -t 1.0.0
Alternativamente è possibile utilizzare il comando Docker tag:
$ docker tag <image-name> <image-name>:<tag>
A cosa serve un Docker Repository
Il Repository è un contenitore che può essere locale o remoto. Un repository remoto viene utilizzato per rendere disponibile l’immagine della propria applicazione ad altri utenti. Gli utenti abilitati all’accesso del repository, potranno effettuare il download sui propri host di una versione dell’immagine caricata sul repository. E’ possibile effettuare questa operazione mediante il comando Docker pull:
$ docker pull <repository>:<tag>
Chi può accedere al Repository?
I Repository possono essere pubblici o privati. I repository pubblici sono accessibili da chiunque. Ci sono centinaia di repository aperti al pubblico che si possono scaricare liberamente senza bisogno di autenticazione.
Per creare un repository privato è necessario aprire un account presso un fornitore (o Docker Registry) come Docker Hub o Amazon Web Service (tramite il servizio ECR), e dunque creare un nuovo repository e consentire l’accesso ai propri collaboratori.
I Docker Registry sono aggregatori di repository. Docker Hub è il registry più comune da cui scaricare immagini pubbliche.
Ogni servizio ha il suo sistema di autenticazione che normalmente poi si riduce al comando Docker login:
$ docker login -p <password> -u <username>
Una volta effettuato il login sarà possibile effettuare il pull delle immagini a cui si ha consentito l’accesso.
Other resources you might be interested in
Ti consigliamo di tenere sempre a “portata di clic del mouse” il sito ufficiale di Docker, puoi trovare parecchie risorse utili e soprattutto lo potrai fare gratuitamente.
In conclusione
Speriamo di aver fatto chiarezza su cosa sia un Docker Repository e come trarne vantaggio.
Creare un account su un Docker Registry permette di condividere un’applicazione con i propri collaboratori in modo semplice e veloce, è inoltre possibile avere uno storico delle versioni in modo da garantire la retro-compatibilità.
I fornitori di risorse cloud come Google Cloud, Azure e AWS offrono questo tipo di servizio e facilitano l’integrazione con i loro servizi di docker orchestration; approfondiremo questo tipo di tematica nei prossimi articoli del nostro blog.
Docker è un tool fondamentale per te che sei un developer che vuole crescere e migliorarsi giorno dopo giorno; dai un’occhiata alle nostre mini guida su cos’è Docker, su come creare un container con Docker e come creare un ambiente con Docker.
Read related articles
Kubernetes Cloud: servizi Cloud per Kubernetes, mini guida pratica
Kubernetes Cloud: vediamo da vicino Amazon Elastic Kubernetes Service (EKS) Google Kubernetes Engine (GKE) e Servizio Azure Kubernetes (AKS) I
Come funziona Kubernetes: funzionamento e struttura
Come funziona Kubernetes: mini guida per capire il funzionamento di uno dei tools più importanti per un developer oggi Come
Docker vs Kubernetes: vediamo in cosa differiscono
Docker vs Kubernetes: vediamo in cosa differiscono e perché a volte si tende a far confusione Spesso sentiamo chiedere in