Impostazione del tuo repository di immagini Docker

Impostazione del tuo repository di immagini Docker
La configurazione del tuo repository di immagini Docker privato è molto importante per molte ragioni. Con il tuo repository di immagini Docker privato, puoi:
  • Tieni le immagini che scarichi da Docker Hub al tuo repository di immagini Docker privato per un uso futuro.
  • Mantieni le immagini personalizzate Docker che hai costruito sul tuo repository di immagini Docker privato.
  • Accedi al repository di immagini Docker privato da qualsiasi server Docker.

In questo articolo, ti mostrerò come configurare e utilizzare il tuo repository di immagini Docker privato. Quindi iniziamo.

Prerequisiti:

È necessario installare Docker per seguire questo articolo. Ho scritto molti articoli sull'installazione di Docker in molte diverse distribuzioni Linux. Se hai problemi a installare Docker sulla distribuzione Linux desiderata, leggi questi articoli su https: // LinuxHint.com.

Se hai bisogno di ulteriore assistenza nell'installazione di Docker sulla distribuzione di Linux desiderata, quindi chiedi aiuto su https: // supporto.Linuxhint.com.

Topologia di rete:

Questa è la topologia di rete per sperimentare il repository di immagini private Docker in questo articolo. Qui, ho 2 macchine virtuali (VM) Linuxhint-Docker1 E Linuxhint-Docker2 con docker installato. Entrambi questi VM sono sulla stessa rete. Qui, Linuxhint-Docker1 VM ha l'indirizzo IP 192.168.21.203 e nome DNS Docker1.Linuxhint.Locale. Installerò e configurerò un contenitore Docker su Linuxhint-Docker1 VM sulla porta 5000 Essere un repository di immagini private Docker. Quindi, testerò il repository di immagini Docker privato spingendo e tirando le immagini Docker dal Linuxhint-Docker2 VM. Tirò anche le immagini Docker caricate nel repository di immagini Docker privato da Linuxhint-Docker1 VM solo per verificare che qualsiasi server Docker sulla rete possa utilizzare le immagini dal repository di immagini Docker privato configurato. Quindi, continuiamo.

Impostazione di un repository di immagini Docker privato:

In questa sezione, ti mostrerò come impostare il tuo repository di immagini Docker privato. Userò il Linuxhint-Docker1 VM in questa sezione.

Innanzitutto, crea una directory sul tuo computer in cui si desidera salvare tutte le immagini Docker del tuo repository di immagini Docker privato.

$ mkdir -p ~/docker/repository

Ora, crea un contenitore del registro Immagine dall'hub Docker con il seguente comando:

$ Docker Container Run -d -p 5000: 5000 -NAME Registry -V
~/docker/registro:/var/lib/registro registro

IL registro Il contenitore dovrebbe essere creato. Le immagini Docker che spingi a questo repository di immagini Docker private verranno salvate al ~/docker/registro directory su Linuxhint-Docker1 VM.

Abilitare il registro non sicuro:

È necessario abilitare il registro insicuro sui server Docker da cui si desidera accedere al repository di immagini private Docker che hai creato.

In questo articolo, voglio accedere al repository di immagini private Docker configurato sulla VM Linuxhint-Docker1 dal Linuxhint-Docker2 VM. Quindi, sul Linuxhint-Docker2 VM, devo dire a Docker quali repository Docker insicuri che voglio usare.

Per fare ciò, crea un nuovo file di configurazione Docker /etc/docker/demone.JSON SU Linuxhint-Docker2 VM con il seguente comando:

$ sudo nano/etc/docker/daemon.JSON

Ora, digita le seguenti righe contrassegnate nello screenshot seguente.


"Registri non sicuri": ["192.168.21.203: 5000 "]

Qui, ho aggiunto l'indirizzo IP e la porta del Linuxhint-Docker1 VM. Se hai configurato DNS sulla tua rete, puoi anche usare un nome DNS qui.

Ho configurato DNS per Linuxhint-Docker1 come segue via /etc/host file su Linuxhint-Docker2 VM.

$ sudo nano /etc /host

Come puoi vedere, il nome DNS per Linuxhint-Docker1 VM è Docker1.Linuxhint.Locale

Quindi, puoi aggiungerlo come un registro insicuro al /etc/docker/demone.JSON file come segue:


"Registrie non sicure": ["Docker1.Linuxhint.Locale: 5000 "]

Ho aggiunto sia l'indirizzo IP che il nome DNS come registro insicuro. Quindi, la finale /etc/docker/demone.JSON Il file sembra segue:

Infine, riavvia il Docker servizio sul Linuxhint-Docker2 VM con il seguente comando:

$ sudo systemctl riavvia docker

Ora puoi utilizzare il tuo repository di immagini Docker privato ospitato Linuxhint-Docker1 VM da Linuxhint-Docker2 VM.

Spingendo le immagini e tirando le immagini dal repository di immagini Docker privato:

Ora, tira qualsiasi immagine Docker da Docker Hub su LinuxHint-Docker2 VM. Andrò per il Ubuntu Immagine in questo articolo.

$ Docker immagine pull ubuntu

Come puoi vedere, il Ubuntu L'immagine è estratta da Docker Hub.

$ Docker Elenco delle immagini

Ora, per spingere il Ubuntu Immagine al tuo repository di immagini Docker privato, devi taggare il Ubuntu Immagine in un formato specifico.

Il formato è,

IP: porta/image_name: tag_name

Qui, IP è l'indirizzo IP o Nome DNS della VM in cui è in esecuzione il contenitore del repository di immagini Docker privato.

PORTA è la porta in cui è in esecuzione il contenitore del repository di immagini docker privato.

Image_name E Tag_name è il nome e il tag dell'immagine rispettivamente che si desidera utilizzare per identificare l'immagine. Tag_name è facoltativo.

Puoi taggare il Ubuntu Immagine che utilizza l'indirizzo IP come segue:

$ Docker Tag Ubuntu 192.168.21.203: 5000/Ubuntu

Puoi anche taggare l'immagine Ubuntu usando il nome DNS come segue:

$ Docker Tag Ubuntu Docker1.Linuxhint.Locale: 5000/Ubuntu

Ora, spingi l'immagine taggata nel repository di immagini Docker privato come segue:

$ Docker Immagine Push 192.168.21.203: 5000/Ubuntu

Come puoi vedere, l'immagine viene caricata nel repository di immagini Docker privato.

Ora, rimuoverò tutte le immagini del docker cache dal mio Linuxhint-Docker2 VM.

$ Docker Image Rm Ubuntu
$ Docker Image RM 192.168.21.203: 5000/Ubuntu

Come puoi vedere, non ho un'immagine memorizzata nella cache nel repository Docker locale.

Ora, proviamo a tirare l'immagine Ubuntu dal repository di immagini Docker privato.

$ Docker Image Pull 192.168.21.203: 5000/Ubuntu

Come puoi vedere, l'immagine Ubuntu viene estratta dal repository di immagini Docker privato.

L'immagine è anche memorizzata nella cache nel repository di immagini Docker locale.

Come puoi vedere, posso anche tirare le immagini su Linuxhint-Docker1 VM caricata dal file Linuxhint-Docker2 VM.

Quindi, possiamo spingere e tirare le immagini Docker dal nostro repository di immagini Docker private.

Container di registro di partenza:

Se riavvia il tuo server Docker dove il registro Il contenitore è in esecuzione, quindi non avrà automaticamente il avvio successivo. Quindi, il repository di immagini Docker privato non funzionerà. Ma puoi facilmente iniziare il registro Container e farlo funzionare con il seguente comando:

$ Docker Container Start Registry

È così che si imposta e usi il tuo repository di immagini Docker. Grazie per aver letto questo articolo.