Installare Docker e Compose su CentOS 8 | RHEL 8
In questa guida ti guideremo attraverso i passaggi per installare Docker CE su CentOS 8 | RHEL 8. Tratteremo anche come installare Docker Compose su Linux RHEL 8/CentOS 8. Docker non è ufficialmente supportato su RHEL 8 poiché è stato sostituito con gli strumenti Red Hat – buildah e podman. Puoi saperne di più sulle nuove funzionalità presenti nel rilascio di RHEL 8 Linux.
- Red Hat Enterprise Linux 8 (RHEL 8) Nuove Funzionalità e Recensione
Ma cosa succede se usi Docker ogni singolo giorno e non puoi passare immediatamente a buildah e podman? Non preoccuparti, perché c'è un modo per installare Docker e Docker Compose su RHEL 8/CentOS 8. Docker è uno strumento che ti permette di creare, distribuire ed eseguire le tue applicazioni nei container. I container consentono a uno sviluppatore di pacchettizzare un'applicazione con le sue dipendenze e distribuirla come un unico pacchetto. I container sono spesso utilizzati negli ambienti di Microservizi.
Componenti/Terminologia di Docker
Esiste una serie di gerghi specifici di Docker che dobbiamo chiarire prima di entrare negli esempi di installazione e utilizzo. Di seguito sono riportate le terminologie comunemente usate nell'ecosistema Docker.
- Daemon di Docker: Questo è anche chiamato Docker Engine, è un processo in background che gira sul sistema host responsabile della creazione e dell'esecuzione dei container.
- Docker Client: Questo è uno strumento da riga di comando usato dall'utente per interagire con il demone Docker.
- Immagine Docker: Un'immagine è un file immutabile che è fondamentalmente un'istantanea di un container. Un'immagine Docker ha un file system e le dipendenze dell'applicazione necessarie per eseguire le applicazioni.
- Container Docker: Questa è un'istanza in esecuzione di un'immagine Docker con un'applicazione e le sue dipendenze. Ogni container ha un ID processo unico ed è isolato dagli altri container. L'unica cosa che i container condividono è il Kernel.
- Registro Docker: Questa è un'applicazione responsabile della gestione dello storage e della distribuzione delle immagini dei container Docker. Può essere privata o pubblica.
Installare Docker CE su CentOS 8 | RHEL 8
Finora abbiamo trattato l'introduzione a Docker e le terminologie. Dovremmo essere pronti per installare Docker CE su RHEL 8/CentOS 8. Inizieremo con l'installazione di Docker e poi di Docker Compose.
Sono disponibili due edizioni di Docker.
- Community Edition (CE): ideale per sviluppatori individuali e piccoli team che vogliono iniziare con Docker e sperimentare con applicazioni basate su container.
- Enterprise Edition (EE): Progettato per lo sviluppo aziendale e i team IT che creano, distribuiscono e gestiscono applicazioni critiche per il business in produzione su larga scala.
La Docker Enterprise Edition richiede una licenza attiva per l'utilizzo. In questa guida, installeremo Docker CE su RHEL 8. Aggiungiamo il repository di Docker prima di poterlo installare.
### CentOS 8 ###
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
### RHEL 8 ###
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repoQuesto comando scaricherà il file del repository Docker in /etc/yum.repos.d/docker-ce.repo. Aggiorniamo la cache dell'indice RPM.
### CentOS 8 ###
$ sudo yum makecache
CentOS Linux 8 - AppStream 23 kB/s | 4.3 kB 00:00
CentOS Linux 8 - BaseOS 20 kB/s | 3.9 kB 00:00
CentOS Linux 8 - Extras 9.2 kB/s | 1.5 kB 00:00
Docker CE Stable - x86_64 291 kB/s | 19 kB 00:00
DigitalOcean Droplet Agent 51 kB/s | 3.3 kB 00:00
Metadata cache created.
### RHEL 8 ###
$ sudo yum makecache
Updating Subscription Management repositories.
Docker CE Stable - x86_64 14 kB/s | 3.8 kB 00:00
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) 33 kB/s | 2.8 kB 00:00
Red Hat Ansible Engine 2.8 for RHEL 8 x86_64 (RPMs) 29 kB/s | 2.4 kB 00:00
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) 30 kB/s | 2.4 kB 00:00
Red Hat Satellite Tools 6.6 for RHEL 8 x86_64 (RPMs) 29 kB/s | 2.1 kB 00:00
Metadata cache created.
Potrebbe essere necessario disinstallare tutte le versioni precedenti di Docker insieme alle dipendenze associate. Disinstallare anche Podman e le dipendenze associate se già installati.
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
podman \
runcInfine, installa Docker CE eseguendo il comando sottostante nel tuo terminale.
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginSe riscontri problemi di dipendenze con Podman, consenti la cancellazione.
sudo yum install docker-ce --allowerasingAccetta di installare premendo il tasto y sulla tastiera:
...
Transaction Summary
================================================================================================================================================================================================
Install 12 Packages
Total download size: 93 M
Installed size: 389 M
Is this ok [y/N]: yImporta anche la chiave GPG.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 51 MB/s | 93 MB 00:01
Docker CE Stable - x86_64 44 kB/s | 1.6 kB 00:00
Importing GPG key 0x621E9F35:
Userid : "Docker Release (CE rpm) <[email >"
Fingerprint: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
From : https://download.docker.com/linux/centos/gpg
Is this ok [y/N]: yAvvia e abilita il servizio Docker per l'avvio all'accensione.
$ sudo systemctl enable --now docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.Lo stato del servizio Docker dovrebbe indicare in esecuzione.
$ systemctl status dockerIl gruppo docker è stato creato, ma nessun utente è stato aggiunto al gruppo. Aggiungi il tuo utente a questo gruppo per eseguire i comandi docker senza sudo
$ sudo usermod -aG docker $USER
$ newgrp docker
$ id $USER
uid=1000(jmutai) gid=1000(jmutai) groups=1000(jmutai),10(wheel),984(docker)
Disconnettiti e accedi di nuovo per usare Docker senza sudo. La versione di Docker installata può essere verificata con:
docker versionScarica l'immagine Docker
L'ultimo passo è testare la tua installazione scaricando un contenitore Docker di prova.
$ docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
8e402f1a9c57: Pull complete
Digest: sha256:644fcb1a676b5165371437feaa922943aaf7afcfa8bfee4472f6860aad1ef2a0
Status: Downloaded newer image for alpine:latest
$ docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latestElenca le immagini scaricate.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest 5cb3aa00f899 2 days ago 5.53MB
hello-world latest fce289e99eb9 2 months ago 1.84kBVerifica che Docker CE funzioni correttamente eseguendo il container alpine dall'immagine scaricata.
$ docker run -it --rm alpine /bin/sh
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.15/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz
v3.15.4-87-g89e29fdace [http://dl-cdn.alpinelinux.org/alpine/v3.15/main]
v3.15.4-87-g89e29fdace [http://dl-cdn.alpinelinux.org/alpine/v3.15/community]
OK: 9754 distinct packages available
/ # exitEsegui contenitore Hello world
$ docker run -it --rm hello-world
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://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/Installa Docker Compose su CentOS 8 | CentOS 8
Abbiamo Docker installato e in esecuzione, passiamo ora a Docker Compose. Docker Compose è uno strumento utilizzato per definire ed eseguire applicazioni Docker multi-contenitore.
I servizi dell'applicazione sono configurati utilizzando un file Compose. A differenza dell'esecuzione dei comandi docker, è sufficiente un unico comando per creare e avviare tutti i servizi dalla tua configurazione. Docker Compose è uno strumento ottimo per ambienti di sviluppo, test e staging, così come per i flussi di lavoro CI.
Segui la nostra guida separata per l'installazione dell'ultima versione di Docker Compose su Linux.
- Installa Docker Compose su Linux
Per mantenere questa guida breve, non entreremo nell'uso di Docker Compose. Ti consiglio di consultare la documentazione ufficiale di Docker e quella di Docker Compose per saperne di più.
Installa Docker UI – Facoltativo
Se hai bisogno di un'interfaccia grafica per la gestione di Docker che ti permetta di gestire facilmente i diversi host e container Docker, prova Portainer. È facile da installare e da usare.
- Come installare Portainer, il gestore UI di Docker
Monitoraggio dei container Docker
Il monitoraggio dei container Docker può essere effettuato utilizzando strumenti di monitoraggio come Netdata, Ctop o Prometheus e Grafana. Le guide seguenti dovrebbero essere utili.
- Ctop – Comando top per le metriche dei container
- Come installare Netdata su RHEL 8/CentOS 8
- Installa il registro Docker Harbor su Linux