Installation de Docker CE via Yum et configuration du dépôt Docker CE
- 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
- 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
- Accédez à la console Aliyun (aliyun.com)
- Navigation : Console → Connexion → Console en haut à gauche → Produits et serivces → Conteneurs → Service de conteneurs ACR
- Dans le Service de conteneurs ACR → Outils d'image → Accélérateur d'image → Copiez l'adresse de l'accélérateur
- Éditez le fichier de configuration daemon
vim /etc/docker/daemon.jsonet 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"
]
}
- 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
- 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
- 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>