Tutto quello che dovresti sapere su Docker Hub

Scopriamo insieme Docker Hub.

Oggi, in questo tutorial, impareremo Docker Hub, incluso come usarlo, come creare la nostra immagine e come aiuta a pubblicare ed estrarre immagini da e verso Docker Hub. Inoltre, passeremo un po’ di tempo ad esplorare alcuni dei popolari repository su Docker Hub.

Prerequisiti

È necessaria una conoscenza di base di Docker, familiarità con l’ambiente Windows e Linux. Questo tutorial utilizzerà lo strumento Docker Desktop per esercitarsi nell’esercizio in corso, ovvero per creare e inviare un’immagine a Docker Hub. Gli utenti Windows e Mac possono scaricarlo e installarlo da quie gli utenti Linux seguono questo collegamento.

Cos’è Docker Hub?

Docker Hub è un servizio di registro del repository fornito da Docker Inc.

Ci consente di eseguire il pull e il push di immagini Docker da e verso Docker Hub. Possiamo trattarlo come un GitHub, in cui recuperiamo e inseriamo il nostro codice sorgente, ma nel caso di Docker Hub, scarichiamo o pubblichiamo le nostre immagini del contenitore. È un repository online basato su cloud che memorizza entrambi i tipi di repository, ad esempio repository pubblico e repository privato. I repository pubblici sono accessibili a tutti, ma quello privato è accessibile al proprietario interessato dei repository; inoltre c’è un costo ad esso associato se memorizziamo più di un certo numero di repository come privati.

Caratteristiche dell’hub Docker

Docker Hub offre le seguenti numerose funzionalità.

# 1. Archivi di immagini

Ci aiuta a trovare ed estrarre le immagini del contenitore da Docker Hub.

Ci aiuta anche a inviare le immagini come repository pubblico o privato al Docker Hub.

#2. Team e organizzazioni

Ci consente di creare gruppi di lavoro e inviare i repository come uno privato, disponibile per l’uso solo all’interno della nostra organizzazione. In questo modo, abbiamo gestito l’accesso ai nostri repository privati ​​di immagini container.

#3. Integrazione con GitHub e Bitbucket

Consente l’integrazione con repository di codice sorgente come GitHub e BitBucket.

#4. Costruzioni automatizzate

Se qualsiasi modifica nel codice sorgente è stata inviata ai repository del codice sorgente, rileva e crea automaticamente le immagini del contenitore da GitHub o BitBucket e le invia a Docker Hub.

#5. Webhook

Dopo aver inviato correttamente le nostre immagini, con l’aiuto di un webhook, viene attivata un’azione per integrare Docker Hub con altri servizi.

#6. Immagini ufficiali e dell’editore

Le immagini di alta qualità fornite dai docker sono considerate immagini ufficiali e possono essere estratte e utilizzate. Allo stesso modo, le immagini di alta qualità fornite da fornitori esterni sono immagini dell’editore, dette anche immagini certificate, che offrono supporto e garanzia di compatibilità con Docker Enterprise. Discuteremo più immagini certificate più avanti in questo articolo.

Creazione del primo repository

Questo passaggio richiede l’accesso a Docker Hub utilizzando le tue credenziali di accesso. Se non possiedi un account, puoi già creare cliccando sul pulsante Iscriviti disponibile nella pagina web. Una volta effettuato l’accesso, puoi creare il repository facendo clic su Crea repository nella pagina di benvenuto.

  • Una volta cliccato su Crea repository, ti verrà chiesto un nome, dare un nome al tuo repository.

  • Seleziona un’opzione di visibilità tra pubblica o privata.

Possiamo anche integrare i nostri repository di codice sorgente come GitHub e BitBucket tramite l’impostazione di compilazione, ma è facoltativo e può essere eseguito anche in una fase successiva.

  • Una volta terminato tutto, fai clic su Crea.

Congratulazioni! Hai creato i tuoi primi repository, che avranno il seguente aspetto.

Docker Hub ci offre gratuitamente un solo repository privato. Tuttavia, se abbiamo bisogno di più repository privati, possiamo aggiornare il nostro account a un piano a pagamento.

Ora apri lo strumento/terminale Docker Desktop, scaricato e installato sopra e accedi a Docker Hub, utilizzando un comando.

docker login

Esplorando le immagini

Esistono due modi per cercare repository pubblici e immagini da Docker Hub, ovvero possiamo cercarlo dal sito Web Docker Hub oppure possiamo utilizzare lo strumento da riga di comando ed eseguire il comando seguente. Considera che vogliamo cercare l’immagine del repository MySQL.

docker search mysql

Download di un’immagine

Possiamo scaricare un’immagine dal comando Docker Hub usando il comando pull come segue

# docker pull mysql

Se abbiamo già un’immagine mysql sulla nostra macchina, il comando sopra aggiornerà automaticamente l’immagine all’ultima versione. Una cosa da tenere a mente qui è che se notiamo l’output del nostro comando di ricerca Docker, ci sono molte immagini di MySQL su Docker Hub, e questo perché chiunque può inviare un’immagine. Ma dipende da noi, quale usare in base al nostro caso d’uso. E dobbiamo fare il formaggio quello appropriato.

Diciamo che vogliamo estrarre un’immagine bitnami/mysql.

# docker pull bitnami/mysql

Creazione di un’immagine

Questo processo richiede un Dockerfile. Possiamo pensare a Dockerfile come a un manuale di istruzioni che dice a Docker cosa assemblare. In breve, è un file di configurazione che continua ad assemblare le istruzioni, ciò che gli diciamo di assemblare.

Come funziona?

Docker legge le istruzioni da un Dockerfile e crea immagini automaticamente. L’immagine Docker è un file system a più livelli ed è costituito da più livelli di sola lettura e ogni livello di un’immagine Docker rappresenta le istruzioni di un Dockerfile. Seguiamo i passaggi seguenti per creare un’immagine utilizzando Dockerfile.

Crea un Dockerfile, che specifica la nostra configurazione dell’applicazione.

# sudo vim Dockerfile

Nota – Il nome del file dovrebbe essere Dockerfile con la “D” maiuscola.

FROM ubuntu:16.04
MAINTAINER [email protected]
RUN apt-get update
RUN apt-get install –y mysql
CMD echo "My first image created."

Diamo un’occhiata ad alcune delle parole chiave importanti utilizzate in Dockerfile

  • Possiamo usare i simboli # per aggiungere un commento in un Dockerfile
  • La parola chiave “FROM” definisce l’immagine di base da utilizzare.
  • Il “MANUTENTORELa parola chiave è la persona che manterrà quell’immagine.
  • La parola chiave “RUN” viene utilizzata per eseguire l’istruzione fornita per l’immagine. Nel nostro caso, prima aggiorna il sistema e poi installa MySQL.
  • La parola chiave “CMD” viene utilizzata per eseguire un comando una volta avviato il contenitore.
  • La parola chiave “COPIA” può essere utilizzata per copiare un file dal nostro sistema operativo host al contenitore Docker.
  • La parola chiave “EXPOSE” viene utilizzata per specificare il numero di porta su cui il container eseguirà il suo processo.

Esegui il comando seguente per creare la nostra immagine Docker

Sintassi:

docker build -t /nome-repo .

# docker build -t asadali08537/first-repo .

Nel comando precedente, il nome dell’immagine è e “.” specifica la directory di lavoro corrente. Questa è un’indicazione per Docker di cercare la directory corrente del file Docker. “-t” viene utilizzato per contrassegnare l’immagine. Possiamo vedere un output simile a:

Ora testiamo la nostra immagine eseguendola tramite il comando di esecuzione della finestra mobile.

docker run asadali08527/first-repo

L’esecuzione del comando precedente chiederà alla tua immagine Docker di installare correttamente MySQL sulla tua macchina con tutti gli aggiornamenti necessari e, infine, visualizzerà anche il messaggio di eco.

Spingendo un’immagine

Una volta che la nostra immagine è stata creata correttamente ed è in esecuzione, possiamo inviarla a Docker Hub tramite il comando push.

docker push asadali08527/first-repo

Possiamo controllare i tag dell’immagine e lo stato su Docker Hub, che sarà simile a questo.

Che cosa sono le immagini certificate Docker?

Queste sono le immagini ufficiali inviate da fornitori o collaboratori. Un’immagine può essere certificata da Docker Hub solo se il suo contenuto è conforme a regole, standard e leggi fornite da Docker Hub. In breve, quell’immagine deve superare alcuni test di base.

Docker Hub fornisce lo strumento inspectDockerImage, attraverso il quale un fornitore può autocertificare le immagini e i plug-in (di solito il fornitore o il collaboratore pubblica i propri plug-in per la registrazione di volumi e reti).

Nota –

Per pubblicare la nostra immagine come docker certificata, dobbiamo prima certificare e testare le nostre immagini e il plugin da soli attraverso il inspectDockerImage strumento, una volta che avremo certificato e testato con successo, al momento dell’invio Docker Hub lo certificherà. Se i nostri contenuti richiedono un ambiente non certificato, non possono essere pubblicati come certificati in nessun caso.

Ci sono molte immagini curate e ottimizzate disponibili su Docker Hub.

La popolarità di queste immagini dipende da vari fattori come pull, presenza sul mercato, valutazioni, punteggi di soddisfazione, ecc. Per un elenco dettagliato dei repository più popolari, andiamo al Docker Hub sito web. L’uso di un’immagine dipende anche dal sistema operativo e dalla sua architettura. Se sappiamo che le immagini estratte verranno utilizzate per quale sistema operativo e la sua architettura, dobbiamo considerare di seguito i fattori chiave prima di estrarre un’immagine.

  • Cerca una versione specifica usando i tag (per lo più l’ultima).
  • Scegli quello che ha il numero massimo di download e stelle.
  • Controlla i suoi aggiornamenti (quando è stato aggiornato l’ultima volta).
  • Se possibile, verificane la tipologia, sia quella dell’editore verificato che quella ufficiale (Docker Certified).

Webhook

Un webhook è un callback web che funziona con gli eventi ed è un modo in cui un’applicazione fornisce informazioni in tempo reale a un’altra applicazione. Al giorno d’oggi, quasi tutte le applicazioni forniscono una funzione webhook e quindi Docker Hub ha anche questa funzione.

È un’API push HTTP attivata da eventi designati dall’utente. Possiamo utilizzare un webhook nella finestra mobile per notificare un’applicazione o un servizio che utilizza le immagini interessate. In genere, configuriamo webhook con docker come una pipeline di eventi, in modo tale che qualsiasi caricamento di nuove immagini attiverà le applicazioni di test per eseguire i test case di sottolineatura.

Una volta che il risultato del test ha esito positivo, attiverà un altro evento, che sarà la distribuzione del contenitore, e una volta completata la distribuzione, attiverà altri eventi per registrare le modifiche apportate fino a quel momento.

Conclusione

Credo che ora tu abbia una buona conoscenza di Docker Hub e di come puoi cercare, creare e inviare immagini. Tieni presente che quando spingi immagini pubbliche, sarà visibile a chiunque.

Se non lo sei già, dai un’occhiata a questa guida all’installazione di Docker.