Se hai approfondito Docker, avrai sentito i termini Docker repository e Docker registry e potresti esserti chiesto cosa significhino. In questa guida spieghiamo la differenza tra i due e come utilizzarli in modo efficace.
Un repository Docker è una raccolta di immagini Docker correlate che condividono lo stesso nome ma hanno versioni diverse, identificate da tag. Ad esempio, il repository ufficiale nginx contiene immagini taggate nginx:1.27, nginx:latest, nginx:alpine e così via — tutte versioni o varianti diverse dello stesso software.
Un registry Docker, invece, è il servizio che ospita e gestisce i repository. Pensa al registry come al server e al repository come a una cartella al suo interno.
Ogni volta che lo sviluppatore rilascia una nuova versione, crea una nuova immagine Docker con lo stesso nome ma un tag diverso e la pubblica nello stesso repository nel registry.
Per assegnare un tag di versione a un’immagine Docker al momento della build, utilizza il flag -t:
$ docker build -t my-app:1.0.0 .
In alternativa, puoi taggare un’immagine esistente utilizzando il comando docker tag:
$ docker tag <image_name> <image_name>:<tag>
A cosa serve un Docker repository?
Un repository fornisce il controllo di versione per le immagini container. Ogni tag rappresenta una versione specifica, consentendo a te e al tuo team di scaricare esattamente la versione necessaria.
I repository possono essere ospitati su un registry remoto per rendere le immagini della tua applicazione disponibili ad altri utenti e ambienti. Gli utenti con le autorizzazioni appropriate possono scaricare una copia di qualsiasi immagine dal repository utilizzando il comando docker pull:
$ docker pull <registry>/<repository>:<tag>
Repository pubblici e privati
I repository possono essere pubblici o privati. I repository pubblici sono accessibili a chiunque senza autenticazione. Su Docker Hub sono disponibili migliaia di repository pubblici, incluse le immagini ufficiali per software popolari come Nginx, PostgreSQL, Redis e Node.js.
Per creare un repository privato, è necessario aprire un account presso un provider di registry e configurare l’accesso per i propri collaboratori. I registry più comunemente utilizzati includono:
- Docker Hub: il registry predefinito e la più grande libreria pubblica di immagini
- Amazon ECR (Elastic Container Registry): integrato con i servizi AWS
- GitHub Container Registry (ghcr.io): integrato con GitHub Actions e i repository GitHub
- Google Artifact Registry: il successore del Google Container Registry, ora ritirato
Autenticazione a un registry
Ogni registry ha il proprio sistema di autenticazione. Il metodo standard è il comando docker login.
Per Docker Hub, il metodo di autenticazione predefinito è ora un flusso basato su codice dispositivo via web, che evita di esporre le credenziali nel terminale:
$ docker login
Verrà visualizzato un codice monouso e un URL. Apri l’URL nel browser, inserisci il codice e autorizza l’accesso.
Per altri registry o per ambienti non interattivi (come le pipeline CI/CD), utilizza --password-stdin per passare le credenziali in modo sicuro:
$ echo $REGISTRY_TOKEN | docker login -u <username> --password-stdin registry.example.com
Nota: evita di passare le password direttamente come argomenti della riga di comando (ad es. docker login -p <password>), poiché questo le espone nella cronologia della shell e nei log di sistema.
Una volta autenticato, puoi scaricare e pubblicare immagini su qualsiasi repository a cui hai accesso.
Limiti di frequenza di Docker Hub
Se scarichi immagini da Docker Hub senza autenticarti, le tue richieste sono soggette a limiti di frequenza: 10 pull all’ora per utenti non autenticati e 100 pull all’ora per account gratuiti autenticati. Tutti i piani a pagamento (Pro, Team, Business) includono pull illimitati. Per ambienti di produzione con più nodi, è raccomandato autenticarsi su Docker Hub o utilizzare un mirror del registry per evitare di raggiungere questi limiti.
Risorse utili
Ti consigliamo di salvare tra i preferiti la documentazione ufficiale Docker – contiene una ricchezza di risorse gratuite per sysadmin e sviluppatori.
Repository, registry e la tua infrastruttura
Speriamo che questa guida abbia chiarito la differenza tra un Docker repository e un Docker registry, e come trarre vantaggio da entrambi.
Creare un account su un Docker registry consente di condividere le immagini delle applicazioni con il tuo team in modo rapido e sicuro. Taggando ogni versione, mantieni una cronologia delle versioni chiara che supporta il rollback e la retrocompatibilità.
I cloud provider come Google Cloud, Azure e AWS offrono tutti registry container gestiti che si integrano con i loro servizi di orchestrazione (GKE, AKS, ECS). Per un approfondimento sull’orchestrazione, leggi i nostri articoli su Docker vs Kubernetes e su come distribuire con Docker.
Se gestisci ambienti containerizzati, ricorda che una solida strategia di backup è essenziale. Uranium Backup supporta il backup di macchine virtuali, database e dei dati che alimentano le tue applicazioni containerizzate.
Read related articles
Docker vs Kubernetes: vediamo in cosa differiscono
Docker e Kubernetes non sono concorrenti: operano su livelli diversi dello stesso stack. Questa guida aggiornata al 2026 spiega cosa fa oggi ciascuno strumento, il ruolo di Swarm e dei K8s leggeri, e quando usarli.
Come utilizzare Docker Compose
Docker Compose V5 spiegato per sysadmin e MSP: installazione, file compose.yaml e comandi essenziali per la gestione quotidiana dei container nel 2026.
Come deployare con Docker
Scopri come funziona Docker: dalla creazione delle immagini con un Dockerfile al deployment dei container, fino alla gestione multi-container e all’orchestrazione.