Installation et configuration de Docker sur CentOS 7.9 avec accélération de téléchargement

Installation de Docker CE via Yum et configuration du dépôt Docker CE

  1. Suppression des anciennes versions de Docker
sudo yum remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-engine

  1. Installation complète
# Étape 1: Installation des outils système nécessaires
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Étape 2: Ajout des informations du dépôt logiciel
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Étape 3: Mise à jour et installation de Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce docker-ce-cli containerd.io
# Étape 4: Démarrage du service Docker et activation au démarrage système
sudo systemctl start docker
sudo systemctl enable docker
# Étape 5: Vérification de l'installation et version de Docker
docker --version

Remarques supplémentaires :

# Le dépôt officiel est activé par défaut pour les dernières versions. Vous pouvez éditer le fichier de dépôt pour obtenir des versions spécifiques.
# Par exemple, les versions de test ne sont pas activées par défaut. Vous pouvez les activer ainsi :
# vim /etc/yum.repos.d/docker-ce.repo
#   Modifier enabled=0 en enabled=1 sous [docker-ce-test]
#
# Installation d'une version spécifique de Docker-CE:
# Étape 1: Trouver la version disponible :
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Étape 2: Installer la version spécifique (VERSION comme 17.03.0.ce.1-1.el7.centos) :
# sudo yum -y install docker-ce-[VERSION]
# Note: Après certaines versions, des dépendances supplémentaires sont nécessaires. Par exemple, pour docker-ce 17.03+, installez d'abord docker-ce-selinux.

Configuration de l'accélération Docker avec Aliyun

  1. Accédez à la console Aliyun (aliyun.com)
  2. Navigation : Console → Connexion → Console en haut à gauche → Produits et serivces → Conteneurs → Service de conteneurs ACR
  3. Dans le Service de conteneurs ACR → Outils d'image → Accélérateur d'image → Copiez l'adresse de l'accélérateur
  4. Éditez le fichier de configuration daemon vim /etc/docker/daemon.json et remplacez par votre adresse d'accélérateur :
{
  "registry-mirrors": ["https://**********.mirror.aliyuncs.com"]
}

Pour utiliser plusieurs sources :

{
    "registry-mirrors": [
        "https://<changme>.mirror.aliyuncs.com",
        "https://dockerproxy.com",
        "https://mirror.baidubce.com",
        "https://docker.m.daocloud.io",
        "https://docker.nju.edu.cn",
        "https://docker.mirrors.sjtug.sjtu.edu.cn"
    ]
}

  1. Rechargez la configuration et redémarrez Docker :
sudo systemctl daemon-reload
sudo systemctl restart docker

Téléchargement d'images Docker avec l'accélération

  1. Exécution du conteneur onlyoffice/documentserver :
docker run -i -t -d -p 8888:80 --restart=always -e JWT_SECRET=b'z5g0@kf**************-rd=)hb' onlyoffice/documentserver

Exemple de sortie réussie :

[root@docker-server opt]# docker run -i -t -d -p 8888:80 --restart=always -e JWT_SECRET=b'z5g0@kf**************-rd=)hb' onlyoffice/documentserver
Unable to find image 'onlyoffice/documentserver:latest' locally
latest: Pulling from onlyoffice/documentserver
f3ef4ff62e0d: Pull complete
d07cf79b5f7d: Pull complete
e5395a39b9a5: Pull complete
e6010a09edba: Pull complete
30fedd4b1d62: Pull complete
Digest: sha256:7e4a36f99966640**************67575ba9c8f7f6
Status: Downloaded newer image for onlyoffice/documentserver:latest
36cf03b271e5ea5377b44a20b84*****************8ecc5c5c
[root@docker-server opt]# docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS          PORTS                                            NAMES
36cf03b271e5   onlyoffice/documentserver   "/app/ds/run-documen…"   26 seconds ago   Up 11 seconds   443/tcp, 0.0.0.0:8888->80/tcp, :::8888->80/tcp   quizzical_murdock

  1. Exemple d'échec sans accélération :
[root@docker-server opt]# docker run -i -t -d -p 8888:80 --restart=always -e JWT_SECRET=b'z5g0@kf**************-rd=)hb' onlyoffice/documentserver
Unable to find image 'onlyoffice/documentserver:latest' locally
latest: Pulling from onlyoffice/documentserver
7646c8da3324: Retrying in 1 second
71fafe0ae01c: Retrying in 1 second
18f635ba4c9e: Retrying in 1 second
6606e9618ca7: Waiting
e4eedcb0c04a: Waiting
aeac35cc396f: Waiting
a4e59a1eccbf: Waiting
docker: error pulling image configuration: download failed after attempts=6: dial tcp 31.13.87.33:443: i/o timeout.

Visualisation des conteneurs Docker

[root@docker-server opt]# docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS          PORTS                                            NAMES
36cf03b271e5   onlyoffice/documentserver   "/app/ds/run-documen…"   44 minutes ago   Up 44 minutes   443/tcp, 0.0.0.0:8888->80/tcp, :::8888->80/tcp   quizzical_murdock

Commandes pour interagir avec les conteneurs

# Entrer dans un conteneur
docker exec -it <nom_ou_id_conteneur> bash

Exemple de modification de port :

# Arrêter le conteneur
docker stop 36cf03b271e5

# Redémarrer avec un nouveau port
docker run -i -t -d -p 8080:80 --restart=always -e JWT_SECRET=b'z5g0@kf**************-rd=)hb' onlyoffice/documentserver

Opérations de base avec Docker

# Télécharger une image avec l'URL par défaut
docker pull hello-world
# Télécharger une image depuis une URL spécifique
docker pull docker.imgdb.de/nginx
# Lister les images
docker images
# Vérifier les ports utilisés par Docker
docker ps
# Exporter une image (crée un fichier tar dans le répertoire courant)
docker save -o hello-world.tar hello-world:latest
# Télécharger un fichier tar depuis le serveur
sz hello-world.tar
# Télécharger un fichier tar vers le serveur
rz
# Installation de lrzsz si nécessaire
apt install -y lrzsz
# Charger une image depuis un fichier
docker load -i /chemin/vers/hello-world.tar
# Vérifier l'image chargée
docker images | grep hello-world
# Supprimer une image par nom de REPOSITORY ou IMAGE ID
docker rmi hello-world:latest
# Supprimer toutes les images avec un ID en double
docker rmi -f <ID>

Étiquettes: CentOS Docker Conteneurs Aliyun Accélération Docker

Publié le 7 juin à 18h28