GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

Installazione e utilizzo di Docker su CentOS e Fedora

Docker è uno strumento che consente di creare, distribuire e gestire pacchetti autonomi e leggeri chiamati contenitori . Questi contenitori hanno il codice, le librerie, il runtime, le impostazioni di sistema e le dipendenze necessarie per eseguire un'applicazione.

Questa guida illustra l'installazione del Docker Engine su varie distribuzioni Linux utilizzando YUM o DNF gestore di pacchetti, inclusi CentOS e Fedora, oltre a ottenere ed eseguire immagini Docker.

Prima di iniziare

  1. Assicurati di avere accesso alla riga di comando a un server Linux che esegue una distribuzione Linux supportata. In caso contrario, segui le guide Introduzione e Configurazione e protezione di un'istanza di calcolo per creare un nuovo Linode.

    Nota Questa guida è scritta per un utente non root. I comandi che richiedono privilegi elevati sono preceduti da sudo . Se non hai familiarità con sudo comando, vedere la guida Utenti e gruppi.
  2. Consulta le seguenti guide Docker per comprendere meglio Docker, i suoi vantaggi e quando utilizzarlo.

    • Introduzione a Docker
    • Quando e perché utilizzare Docker

Installazione del motore Docker

Docker Engine è il software di containerizzazione sottostante utilizzato durante la distribuzione di container Docker. Le seguenti istruzioni installeranno Docker su CentOS e Fedora usando YUM gestore di pacchetti.

Distribuzioni supportate: CentOS 7, CentOS 8 (inclusi altri derivati ​​di RHEL 8 come AlmaLinux e RockyLinux) e Fedora 32 (e successivi)

Nota Mentre il YUM il gestore dei pacchetti è stato sostituito con DNF su CentOS 8 e Fedora, il yum il comando è ancora presente come collegamento simbolico a DNF. Pertanto, queste istruzioni continuano a funzionare come previsto.
  1. Assicurati che Docker non sia attualmente installato. L'output che indica che nessuno dei pacchetti è stato trovato può essere tranquillamente ignorato.

    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
    
  2. Installa yum-utils pacchetto, che include yum-config-manager . Questo installerà automaticamente dnf-plugins-core quando si utilizza DNF.

    sudo yum install yum-utils
    
  3. Aggiungi il repository Docker, usando yum-config-manager . Questo si associa automaticamente al dnf config-manager comando quando si utilizza DNF. Nel comando seguente, sostituisci [url] con l'URL del repository per la tua distribuzione:

    sudo yum-config-manager --add-repo [url]
    
    • RHEL/CentOS e derivati: https://download.docker.com/linux/centos/docker-ce.repo
    • Fedora 32 e successivi: https://download.docker.com/linux/fedora/docker-ce.repo
  4. Installa Docker Engine e altri pacchetti richiesti:

    sudo yum install docker-ce docker-ce-cli containerd.io
    

    Durante questo passaggio, potrebbe essere richiesto di accettare la chiave GPG. L'impronta dovrebbe essere 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35 . Verifica questi dettagli e inserisci y accettare.

Ulteriori istruzioni di installazione per queste distribuzioni sono disponibili nella documentazione di Docker:

  • Installa Docker Engine su CentOS
  • Installa Docker Engine su Fedora

Avvio e test di Docker

Dopo aver installato Docker Engine, avvia Docker e verifica che tutto funzioni eseguendo un'immagine di prova.

  1. Assicurati che il server Docker sia in esecuzione.

    sudo systemctl start docker
    
  2. Facoltativamente, configurare Docker per l'avvio all'avvio del server. Questa operazione è consigliata se intendi eseguire un'applicazione di produzione all'interno di questa installazione Docker.

    sudo systemctl enable docker
    sudo systemctl enable containerd
    
  3. Verifica che Docker sia installato correttamente eseguendo l'immagine "hello-world".

    sudo docker run hello-world
    

    In caso di esito positivo, Docker dovrebbe scaricare ed eseguire l'immagine hello-world e generare un messaggio di successo. Tra l'altro testo, l'output dovrebbe includere un messaggio simile al seguente:

    Hello from Docker!
    This message shows that your installation appears to be working correctly.

Gestione di Docker con un utente non root

Per impostazione predefinita, sudo è necessario per eseguire i comandi Docker, ma un nuovo gruppo, chiamato docker , è stato creato durante l'installazione. Quando il demone Docker si avvia, apre un socket Unix per la docker membri del gruppo.

Prima di continuare, assicurati di disporre di un account utente limitato non appartengono al gruppo sudo. Se non hai ancora creato un account utente limitato, consulta le guide Configurazione e protezione di un'istanza di calcolo o Utenti e gruppi Linux per istruzioni.

  1. Immettere il comando seguente per aggiungere un utente alla docker gruppo, sostituendo [utente] con il nome del tuo account utente limitato.

    sudo usermod -aG docker [user]
    
  2. Accedi al sistema come utente limitato.

  3. Verifica che l'utente limitato possa eseguire docker comandi senza sudo eseguendo ancora una volta l'immagine "hello-world".

    docker run hello-world
    

    L'output dovrebbe avere un messaggio di successo simile all'output precedente.

Attenzione La finestra mobile group concede privilegi simili a quelli dell'utente root. Consulta la guida Docker Daemon Attack Surface nella documentazione di Docker per ulteriori informazioni su come ciò può influire sulla sicurezza del sistema. Per eseguire il demone Docker senza utilizzare i privilegi di root, segui le istruzioni in Esegui il demone Docker come utente non root (modalità senza root).

Risoluzione degli errori durante il caricamento dei file di configurazione

Se l'utente ha eseguito sudo docker comandi prima di entrare nel gruppo, potrebbe essere presentato un errore durante il caricamento del file di configurazione, come questo:

WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied

Il problema è che la directory .docker nella loro home directory (~/.docker) è stata creata con i permessi concessi da sudo .

Ci sono due possibili soluzioni:

  1. Rimuovere il .docker directory dalla loro directory home. Docker lo ricreerà automaticamente, ma tutte le impostazioni personalizzate andranno perse.

  2. Modifica le autorizzazioni su .docker directory utilizzando i comandi:

    sudo chown example_user:example_user /home/example_user/.docker -R
    sudo chmod g+rwx "/home/example_user/.docker" -R
    

Utilizzo di immagini Docker per distribuire contenitori

Le immagini Docker sono modelli che includono le istruzioni e le specifiche per la creazione di un contenitore. Per utilizzare Docker, devi prima ottenere un'immagine o crearne una tua creando un dockerfile. Per ulteriori informazioni, consulta Introduzione a Docker.

Elenco immagini

Per elencare tutte le immagini sul tuo sistema, esegui il comando seguente. Questo dovrebbe produrre il hello-world immagine che è stata utilizzata in un passaggio precedente, nonché eventuali immagini aggiuntive che potresti aver già ottenuto.

docker images

Trovare un'immagine

Le immagini vengono archiviate nei registri Docker, come Docker Hub (il registro ufficiale di Docker). Puoi cercare le immagini su quel sito Web o utilizzare il comando seguente per cercare nel registro Docker. Nel comando seguente, sostituisci [keyword] con le parole chiave che desideri cercare, come nginx o apache .

docker search [keyword]

Come ottenere un'immagine

Una volta trovata un'immagine, scaricala sul tuo server. Nel comando seguente, sostituisci [image] con il nome dell'immagine che desideri utilizzare.

docker pull [image]

Ad esempio, per visualizzare l'immagine ufficiale di nginx, esegui:docker pull nginx .

Esecuzione di un'immagine

Quindi, crea un contenitore basato sull'immagine utilizzando docker run comando. Di nuovo, sostituisci [image] con il nome dell'immagine che desideri utilizzare.

docker run [image]

Se l'immagine non è stata ancora scaricata ed è disponibile nel registro di Docker, l'immagine verrà automaticamente scaricata sul tuo server.

Gestione dei contenitori Docker

Contenitori di elenchi

Per elencare tutti i contenitori Docker attivi (e inattivi) in esecuzione sul tuo sistema, esegui il comando seguente:

docker ps -a

L'output dovrebbe essere simile al seguente. Questo output di esempio mostra il hello-world contenitore.

CONTAINER ID   IMAGE         COMMAND    CREATED       STATUS                   PORTS     NAMES
5039168328a5   hello-world   "/hello"   2 hours ago   Exited (0) 2 hours ago             magical_varahamihira

Avvio di un container

Avvia un container Docker con il comando seguente, sostituendo [ID] con l'ID contenitore corrispondente al contenitore che desideri avviare:

docker start [ID]

Arresto di un container

Arresta un container Docker con il comando seguente, sostituendo [ID] con l'ID contenitore corrispondente al contenitore che desideri fermare:

docker stop [ID]

Alcune immagini (come hello-world image) si arrestano automaticamente dopo l'esecuzione. Tuttavia, molti altri contenitori continuano a essere eseguiti fino a quando non viene esplicitamente comandato l'arresto e potresti voler eseguire questi contenitori in background. In questi casi, questo comando può tornare utile.

Rimozione di un container

Rimuovere un contenitore Docker con il seguente comando, sostituendo [ID] con l'ID contenitore corrispondente al contenitore che desideri rimuovere:

docker rm [ID]

Maggiori informazioni

Si consiglia di consultare le seguenti risorse per ulteriori informazioni su questo argomento. Sebbene questi siano forniti nella speranza che possano essere utili, tieni presente che non possiamo garantire l'accuratezza o la tempestività dei materiali ospitati esternamente.

  • Sito Web per Docker
  • Documentazione per Docker
  • Sito web per container

Docker
  1. Installazione di JAVA 8 JDK su CentOS, RedHat e Fedora

  2. Installazione di PostgreSQL e phpPgAdmin in CentOS

  3. Installazione e configurazione di php 7x su Centos 8

  4. Come installare Docker su Fedora 32 o 31 (e alternative)

  5. Installazione e utilizzo di XeTeX

Come installare Docker su CentOS 8

Installazione di Apache e PHP su CentOS 8

Come installare Docker su Fedora 35

Come installare Docker e Docker Compose su Linux

Installazione corretta di Docker su Ubuntu [Guida per principianti]

Come installare e utilizzare Docker su Ubuntu 20.04