GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare e utilizzare Docker su CentOS 7

Docker è una tecnologia di containerizzazione che ti consente di creare, testare e distribuire rapidamente applicazioni come container portatili e autosufficienti che possono essere eseguiti praticamente ovunque.

In questo tutorial, analizzeremo come installare Docker CE su CentOS 7 ed esploreremo i concetti e i comandi di base di Docker.

Prerequisiti #

Prima di procedere con questo tutorial, assicurati che siano soddisfatti i seguenti prerequisiti:

  • Server CentOS 7
  • Sei loggato come utente non root con privilegi sudo. Consulta questa guida su come creare un nuovo utente sudo.

Installa Docker su CentOS #

Sebbene il pacchetto Docker sia disponibile nel repository ufficiale di CentOS 7, potrebbe non essere sempre l'ultima versione. L'approccio consigliato è installare Docker dai repository di Docker.

Per installare Docker sul tuo server CentOS 7, procedi nel seguente modo:

  1. Inizia aggiornando i pacchetti di sistema e installa le dipendenze richieste:

    sudo yum updatesudo yum install yum-utils device-mapper-persistent-data lvm2
  2. Quindi, esegui il seguente comando che aggiungerà il repository stabile Docker al tuo sistema:

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. Ora che il repository Docker è abilitato, installa l'ultima versione di Docker CE (Community Edition) utilizzando yum digitando:

    sudo yum install docker-ce
  4. Una volta installato il pacchetto Docker, avvia il demone Docker e abilitalo per l'avvio automatico all'avvio:

    sudo systemctl start dockersudo systemctl enable docker
  5. Per verificare che il servizio Docker sia in esecuzione, digita:

    sudo systemctl status docker

    L'output dovrebbe essere simile a questo:

    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
       Active: active (running) since Wed 2018-10-31 08:51:20 UTC; 7s ago
         Docs: https://docs.docker.com
     Main PID: 2492 (dockerd)
       CGroup: /system.slice/docker.service
               ├─2492 /usr/bin/dockerd
               └─2498 docker-containerd --config /var/run/docker/containerd/containerd.toml
  6. Al momento della scrittura, l'attuale versione stabile di Docker è 18.06.1 , per stampare la versione Docker digita:

    docker -v
    Docker version 18.06.1-ce, build e68fc7a

Esecuzione del comando Docker senza Sudo #

Per impostazione predefinita, la gestione di Docker richiede privilegi di amministratore. Se desideri eseguire i comandi Docker come utente non root senza anteporre sudo devi aggiungere il tuo utente al gruppo Docker che viene creato durante l'installazione del pacchetto Docker CE. Puoi farlo digitando:

sudo usermod -aG docker $USER

$USER è una variabile di ambiente che contiene il tuo nome utente.

Esci e accedi nuovamente in modo che l'appartenenza al gruppo venga aggiornata.

Per verificare che Docker sia installato correttamente e che tu possa eseguire comandi docker senza sudo, emetti il ​​seguente comando che scaricherà un'immagine di prova, eseguirà in un contenitore, stamperà un messaggio "Hello from Docker" ed esci:

docker container run hello-world

L'output dovrebbe essere simile al seguente:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9bb5a5d4561a: Pull complete
Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
Status: Downloaded newer image for hello-world:latest

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

Interfaccia a riga di comando Docker #

Ora che abbiamo un'installazione Docker funzionante, esaminiamo la sintassi di base della CLI Docker.

La riga di comando della finestra mobile ha la forma seguente:

docker [option] [subcommand] [arguments]

Puoi elencare tutti i comandi disponibili digitando docker senza parametri:

docker

Se hai bisogno di ulteriore aiuto su qualsiasi [subcommand] , digita:

docker [subcommand] --help

Immagini Docker #

Un'immagine Docker è composta da una serie di livelli che rappresentano le istruzioni nel Dockerfile dell'immagine che costituiscono un'applicazione software eseguibile. Un'immagine è un file binario immutabile che include l'applicazione e tutte le altre dipendenze come binari, librerie e istruzioni necessarie per eseguire l'applicazione. In breve, un'immagine Docker è essenzialmente un'istantanea di un container Docker.

Docker Hub è un servizio di registro basato su cloud che, tra le altre funzionalità, viene utilizzato per mantenere le immagini Docker in un repository pubblico o privato.

Per cercare un'immagine nel repository Docker Hub, usa semplicemente search sottocomando. Ad esempio, per cercare l'immagine CentOS, esegui:

docker search centos

L'output dovrebbe essere simile al seguente:

NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                             The official build of CentOS.                   4257                [OK]
ansible/centos7-ansible            Ansible on Centos7                              109                                     [OK]
jdeathe/centos-ssh                 CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x86_…   94                                      [OK]
consol/centos-xfce-vnc             Centos container with "headless" VNC session…   52                                      [OK]
imagine10255/centos6-lnmp-php56    centos6-lnmp-php56                              40                                      [OK]
tutum/centos                       Simple CentOS docker image with SSH access      39

Come puoi vedere i risultati della ricerca stampano una tabella con cinque colonne, NAME , DESCRIPTION , STARS , OFFICIAL e AUTOMATED . L'immagine ufficiale è un'immagine che Docker sviluppa in collaborazione con i partner a monte.

Se vogliamo scaricare la build ufficiale di CentOS 7, possiamo farlo usando il image pull sottocomando:

docker image pull centos
Using default tag: latest
latest: Pulling from library/centos
469cfcc7a4b3: Pull complete
Digest: sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
Status: Downloaded newer image for centos:latest

A seconda della velocità di Internet, il download potrebbe richiedere alcuni secondi o alcuni minuti. Una volta scaricata l'immagine, possiamo elencare le immagini con:

docker image ls

L'output dovrebbe essere simile al seguente:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              e38bc07ac18e        3 weeks ago         1.85kB
centos              latest              e934aafc2206        4 weeks ago         199MB

Se per qualche motivo vuoi eliminare un'immagine puoi farlo con image rm [image_name] sottocomando:

docker image rm centos
Untagged: centos:latest
Untagged: centos@sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
Deleted: sha256:e934aafc22064b7322c0250f1e32e5ce93b2d19b356f4537f5864bd102e8531f
Deleted: sha256:43e653f84b79ba52711b0f726ff5a7fd1162ae9df4be76ca1de8370b8bbf9bb0

Contenitori Docker #

Un'istanza di un'immagine è chiamata contenitore. Un contenitore rappresenta un runtime per una singola applicazione, processo o servizio.

Potrebbe non essere il confronto più appropriato, ma se sei un programmatore puoi pensare a un'immagine Docker come a una classe ea un container Docker come a un'istanza di una classe.

Possiamo avviare, fermare, rimuovere e gestire un container con il docker container sottocomando.

Il comando seguente avvierà un contenitore Docker basato sull'immagine CentoOS. Se non hai l'immagine in locale, la scaricherà prima:

docker container run centos

A prima vista, può sembrare che non sia successo nulla. Ebbene, non è vero. Il contenitore CentOS si interrompe immediatamente dopo l'avvio perché non ha un processo di lunga durata e non abbiamo fornito alcun comando, quindi il contenitore si è avviato, ha eseguito un comando vuoto e quindi è uscito.

L'interruttore -it ci permette di interagire con il container tramite la riga di comando. Per avviare un tipo di contenitore interattivo:

docker container run -it centos /bin/bash

Come puoi vedere dall'output, una volta avviato il contenitore, il prompt dei comandi viene modificato, il che significa che ora stai lavorando dall'interno del contenitore:

[root@719ef9304412 /]#

Per elencare i contenitori in esecuzione:, digita:

docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
79ab8e16d567        centos              "/bin/bash"         22 minutes ago      Up 22 minutes                           ecstatic_ardinghelli
Se non hai contenitori in esecuzione, l'output sarà vuoto.

Per visualizzare sia i contenitori in esecuzione che quelli interrotti, passagli il -a interruttore:

docker container ls -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
79ab8e16d567        centos              "/bin/bash"              22 minutes ago      Up 22 minutes                                   ecstatic_ardinghelli
c55680af670c        centos              "/bin/bash"              30 minutes ago      Exited (0) 30 minutes ago                       modest_hawking
c6a147d1bc8a        hello-world         "/hello"                 20 hours ago        Exited (0) 20 hours ago                         sleepy_shannon

Per eliminare uno o più contenitori basta copiare l'ID contenitore (o gli ID) dall'alto e incollarli dopo il container rm sottocomando:

docker container rm c55680af670c

Cent OS
  1. Come installare e utilizzare TensorFlow su CentOS 7

  2. Come installare Docker su CentOS 8

  3. Come installare e utilizzare Docker su Ubuntu 18.04

  4. Come installare e utilizzare Docker Compose su CentOS 7

  5. Come installare e utilizzare Docker Compose su CentOS

Come installare e utilizzare TermRecord su CentOS 8

Come installare Docker su CentOS 7

Come installare e utilizzare Traceroute su CentOS 7

Come installare Docker su CentOS 8

Come installare e utilizzare Docker su Ubuntu 20.04

Come installare e utilizzare Docker su CentOS 8