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

Come aggiornare Docker su CentOS

Docker è una piattaforma open source per lo sviluppo, la spedizione e l'esecuzione di applicazioni. Docker v17.12 è l'ultima versione stabile al momento della stesura di questo articolo. Offre la possibilità di impacchettare ed eseguire un'applicazione in un ambiente totalmente isolato chiamato container. Possiamo eseguire molti container contemporaneamente su un determinato host. I container sono leggeri e veloci perché non necessitano di un hypervisor, ma vengono eseguiti direttamente all'interno del kernel della macchina host.

Architettura Docker

Docker è un'applicazione client-server, in cui sia il client che il daemon possono essere eseguiti sullo stesso sistema oppure è possibile connettere un client Docker con un daemon Docker remoto. I client Docker e il demone comunicano tramite socket o API RESTful (Representational State Transfer:è un trasferimento senza stato su HTTP di una pagina Web contenente un file XML che include e descrive il contenuto desiderato).

I componenti principali di Docker sono

  • Docker Daemon :il daemon Docker (dockerd) ascolta le richieste dell'API Docker e gestisce oggetti Docker come immagini, contenitori, reti e volumi. Un demone può anche comunicare con altri demoni per gestire i servizi Docker.
  • Docker Client :il client Docker (docker) è il modo principale in cui gli utenti Docker interagiscono con Docker. Quando utilizziamo comandi come docker run, docker build ecc., il client invia questi comandi a docker daemon (dockerd), che li esegue. Il comando Docker utilizza l'API Docker. Può comunicare con più di un demone.
  • Docker Registry (2.4.1) :un registro Docker memorizza le immagini Docker. Docker Hub e Docker Cloud sono registri pubblici che chiunque può utilizzare. Per impostazione predefinita, Docker è configurato per cercare immagini su Docker Hub. Possiamo persino impostare il nostro registro privato per le nostre immagini.

In questo articolo spiegherò come aggiornare il tuo Docker all'ultima versione disponibile sia su CentOS 7 che su Fedora 27.

Prerequisiti

Per installare la versione Docker CE, è necessaria una versione mantenuta di CentOS 7. Il repository centos-extras deve essere abilitato. Questo repository è abilitato per impostazione predefinita, ma se lo hai disabilitato, devi riattivarlo.

Aggiornamento Docker su CentOS 7.4

Per l'aggiornamento di Docker, si consiglia di installare Docker Community Edition (Docker CE) che ti aiuterà a installare, aggiornare e mantenere Docker con il supporto e le garanzie richieste per il tuo particolare carico di lavoro. Si consiglia il driver di archiviazione overlay2. overlay2 è la scelta predefinita per Docker CE. Il driver di archiviazione controlla il modo in cui le immagini e i contenitori vengono archiviati e gestiti sull'host Docker. Docker supporta diversi driver di archiviazione. Il devicemapper è la nostra prossima scelta, ma richiede direct-lvm per ambienti di produzione per prestazioni migliori.

Iniziamo con i passaggi per aggiornare la tua vecchia versione Docker.

  • Disinstalla le vecchie versioni Docker

I pacchetti docker e docker-engine sono definiti come i vecchi pacchetti. Se stai eseguendo queste vecchie versioni, puoi prima disinstallarle per procedere ulteriormente. Esegui questo comando per rimuovere tutte le tracce della finestra mobile dal tuo server.

#yum remove docker docker-common docker-selinux docker-engine

Anche se questi pacchetti vengono rimossi dal server, tutti i nostri contenuti docker richiesti, inclusi immagini, contenitori, volumi e reti, vengono conservati nel /var/lib/docker/ cartella.

  • Installa Docker CE

Puoi prima configurare i repository Docker e installarli usandolo. Ciò renderà il processo di installazione e aggiornamento molto più semplice con lo stesso repository. Per configurare il nostro repository abbiamo bisogno dell'utility yum-config-manager fornita dal pacchetto yum-utils. E come discusso prima, Docker CE preferisce un driver di archiviazione, qui utilizziamo devicemapper . Quindi, per questo driver di archiviazione, abbiamo bisogno di questi device-mapper-persistent-data and lvm2 packages . Possiamo installare tutti questi prerequisiti per configurare il nostro repository usando questo comando.

#yum install -y yum-utils device-mapper-persistent-data lvm2

Successivamente, puoi utilizzare il comando seguente per abilitare il Docker Repository stabile.

#yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum install docker-ce
Loaded plugins: fastestmirror
docker-ce-stable | 2.9 kB 00:00:00 
Loading mirror speeds from cached hostfile
* base: mirrors.coreix.net
* extras: repo.uk.bigstepcloud.com
* updates: mirror.sov.uk.goscomb.net
Resolving Dependencies
--> Running transaction check
---> Package docker-ce.x86_64 0:17.12.0.ce-1.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================
Installing:
docker-ce x86_64 17.12.0.ce-1.el7.centos docker-ce-stable 30 M

Transaction Summary
============================================================================================================================================================================================================
Install 1 Package

This step is optional: Anche i repository Edge e test sono inclusi in questo file repository, è disabilitato per impostazione predefinita. Se lo desideri, puoi abilitare anche quei file repository insieme al repository stabile e installare Edge o versioni di prova disponibili. Questo può essere fatto emettendo il seguente comando di seguito:

#yum-config-manager --enable docker-ce-edge
#yum-config-manager --enable docker-ce-test

Dopo aver abilitato questi repository, il comando install eseguirà il push dell'installazione da Edge Repo.

# yum install docker-ce
Dependencies Resolved

============================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================
Installing:
docker-ce x86_64 18.01.0.ce-1.el7.centos docker-ce-edge 33 M
Installing for dependencies:
libtool-ltdl x86_64 2.4.2-22.el7_3 base 49 k

Transaction Summary
============================================================================================================================================================================================================
Install 1 Package (+1 Dependent package)

Quindi, se hai bisogno dell'ultima versione stabile, puoi semplicemente mantenere disabilitati questi repository Edge e Test. Puoi usare il yum-config-manager comando con --disable flag per disabilitare questi repository.

A volte, possono esserci ancora tracce di vecchi componenti docker presenti sul server anche se abbiamo eseguito yum remove comando come al passaggio 1. Durante l'installazione, se sono disponibili vecchie versioni della finestra mobile, segnalerà un errore come di seguito:

Transaction check error:
file /usr/bin/docker from install of docker-ce-18.01.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd from install of docker-ce-18.01.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd-shim from install of docker-ce-18.01.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/dockerd from install of docker-ce-18.01.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

Ho rimosso manualmente questi pacchetti utilizzando il comando yum remove per procedere correttamente con l'installazione come di seguito:

# yum remove docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
Dependencies Resolved

============================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================
Removing:
docker-common x86_64 2:1.12.6-68.gitec8512b.el7.centos @extras 4.5 k
Removing for dependencies:
docker-client x86_64 2:1.12.6-68.gitec8512b.el7.centos @extras 11 M

Transaction Summary
============================================================================================================================================================================================================
Remove 1 Package (+1 Dependent package)

Verifica dell'installazione Docker

Una volta completata l'installazione, puoi avviare e abilitare il servizio Docker e verificare l'installazione eseguendo hello-world immagine.

# systemctl start docker
# systemctl enable docker
# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2018-01-23 06:36:24 UTC; 2s ago
Docs: https://docs.docker.com
Main PID: 30700 (dockerd)
Memory: 23.1M
CGroup: /system.slice/docker.service
├─30700 /usr/bin/dockerd
└─30703 docker-containerd --config /var/run/docker/containerd/containerd.toml

# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:66ef312bbac49c39a89aa9bcc3cb4f3c9e7de3788c944158df3ee0176d32b751
Status: Downloaded newer image for hello-world:latest

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

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
https://cloud.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/

Aggiornamento del Docker CE

Puoi utilizzare il comando yum upgrade per aggiornare la tua versione Docker all'ultima versione stabile in futuro. Attualmente, il nostro server è già installato con l'ultima build di Stable Docker disponibile, che è la versione Docker 17.12.

# docker -v
Docker version 17.12.0-ce, build c97c6d6

Ora, se dobbiamo aggiornare questa versione stabile corrente all'ultima versione disponibile di Edge, puoi semplicemente abilitare il file repository edge nel repository Docker ed eseguire il comando yum upgrade come di seguito:

# yum-config-manager --enable docker-ce-edge
# yum upgrade docker-ce
Dependencies Resolved

============================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================
Updating:
docker-ce x86_64 18.01.0.ce-1.el7.centos docker-ce-edge 33 M

Transaction Summary
============================================================================================================================================================================================================
Upgrade 1 Package

Questo installerà l'ultima versione di Edge disponibile dal repository. È possibile confermare la versione Docker dopo l'installazione. Fare riferimento a questa documentazione per ulteriori informazioni sulle versioni Stable ed Edge.

# docker -v
Docker version 18.01.0-ce, build 03596f5

Aggiornamento Docker su Fedora 27

Poiché sia ​​Fedora che CentOS provengono da RedHat, i comandi utilizzati sono praticamente identici ad eccezione delle differenze nel pacchetto Docker. Analogamente al caso precedente, anche in Fedora è necessario rimuovere le vecchie versioni docker disponibili e installare Docker Community Edition (Docker CE) per facilitare l'installazione e l'aggiornamento.

Prerequisiti

Per installare Docker, è necessaria la versione a 64 bit di quest'ultima versione di Fedora 27

Iniziamo con i passaggi per aggiornare la tua vecchia versione Docker su Fedora.

  • Disinstalla la versione precedente di Docker

Come discusso in precedenza, i pacchetti docker e docker-engine sono definiti come i vecchi pacchetti. Puoi rimuovere questi vecchi pacchetti con questo comando qui sotto:

#dnf remove docker docker-common docker-selinux docker-engine-selinux docker-engine

Anche se questi pacchetti vengono rimossi dal server, tutti i nostri contenuti docker richiesti, inclusi immagini, contenitori, volumi e reti, vengono conservati nella cartella /var/lib/docker/.

  • Installa Docker CE

Dobbiamo abilitare il repository Docker affinché Fedora installi la versione Docker CE. Per configurare questo repository, abbiamo bisogno di alcuni dei comandi per gestire il gestore di pacchetti dnf. Il dnf-plugins-core pacchetto fornisce i comandi per gestire i tuoi repository DNF dalla riga di comando. Puoi installarlo usando il comando seguente:

# dnf -y install dnf-plugins-core

Ora possiamo usare questo comando per abilitare il repository Stable e installare l'ultima versione Stable disponibile da questo repository usando dnf install comando.

# dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
Adding repo from: https://download.docker.com/linux/fedora/docker-ce.repo

# dnf install docker-ce
Last metadata expiration check: 0:00:20 ago on Mon 22 Jan 2018 09:43:35 AM UTC.
Dependencies resolved.
============================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================
Installing:
docker-ce x86_64 17.12.0.ce-1.fc27 docker-ce-stable 31 M
Installing dependencies:
container-selinux noarch 2:2.38-1.fc27 updates 36 k
iptables x86_64 1.6.1-4.fc27 fedora 471 k
libnetfilter_conntrack x86_64 1.0.6-4.fc27 fedora 62 k
libnfnetlink x86_64 1.0.1-11.fc27 fedora 31 k
policycoreutils-python-utils x86_64 2.7-1.fc27 fedora 223 k

Transaction Summary
============================================================================================================================================================================================================
Install 6 Packages

Come affermato in precedenza, entrambi i file repository Edge e Test sono presenti in questo Docker Repository (file docker.repo). Ma entrambi sono disabilitati per impostazione predefinita per abilitare solo il livello Stabile. Se necessario, puoi abilitarlo utilizzando questi comandi di seguito:

# dnf config-manager --set-enabled docker-ce-edge
# dnf config-manager --set-enabled docker-ce-test

Aggiorna Docker CE

Per aggiornare Docker CE, puoi utilizzare dnf -y upgrade . Verrà aggiornato all'ultimo livello stabile disponibile all'interno del repository Docker.

# dnf -y upgrade docker-ce

Conclusione

Docker ha semplificato la vita a sviluppatori e team operativi rispettivamente per creare e distribuire rapidamente le applicazioni. Con l'azienda che rilascia rapidi aggiornamenti a Docker al fine di migliorare il prodotto e soddisfare le esigenze dei clienti, il futuro è decisamente roseo per Docker.


Cent OS
  1. Come installare Docker su CentOS 7 / RHEL 7

  2. Come installare Docker in CentOS

  3. Come aggiornare la versione Git>=1.7.10 su CentOS 6

  4. Come aggiornare CentOS 6.10 da CentOS 6.9-6.0

  5. Come aggiornare CentOS 7 a CentOS 8 Linux

Come aggiornare Centos da 7 a 8

Come aggiornare il kernel Linux su CentOS 7

Come installare Docker su CentOS

Come installare Docker CE su CentOS 8

Come installare Rancher su CentOS 8

Come installare Docker su CentOS 7