Docker utilise le catalogue de séries liées au didacticiel
table des matières
1. Qu'est-ce qu'une image Docker
La relation entre l'image et le conteneur
Deuxièmement, répertoriez les images du docker
source miroir ustc (recommandé)
Quatrièmement, trouve le miroir
2. Créez un conteneur interactif
1. Qu'est-ce qu'une image Docker
Introduction au miroir Docker
Le système d'exploitation est divisé en un noyau et un espace utilisateur. Pour Linux, une fois le noyau démarré, le système de fichiers racine sera monté pour fournir une prise en charge de l'espace utilisateur. L'image Docker (Image) équivaut à un système de fichiers racine.
L'image Docker est un système de fichiers spécial. En plus de fournir les programmes, les bibliothèques, les ressources, la configuration et les autres fichiers requis par l'exécution du conteneur, elle contient également certains paramètres de configuration préparés pour l'exécution (tels que les volumes anonymes, les variables d'environnement, les utilisateurs, etc. .)). L'image ne contient aucune donnée dynamique et son contenu ne sera pas modifié après sa création.
L'image docker est stockée par défaut dans le répertoire: / var / lib / docker /
La relation entre l'image et le conteneur
La relation entre l'image (image) et le conteneur (conteneur) est comme la classe et l'instance dans la programmation orientée objet. L'image est une définition statique et le conteneur est l'entité de l'image au moment de l'exécution. Les conteneurs peuvent être créés, démarrés, arrêtés, supprimés, suspendus, etc.
L'essence d'un conteneur est un processus, mais contrairement à un processus qui s'exécute directement sur l'hôte, un processus de conteneur s'exécute dans son propre espace de noms indépendant. Par conséquent, le conteneur peut avoir son propre système de fichiers racine, sa propre configuration réseau, son propre espace de processus et même son propre espace d'ID utilisateur. Le processus dans le conteneur s'exécute dans un environnement isolé et, lorsqu'il est utilisé, c'est comme s'il fonctionnait sous un système hôte indépendant. Cette fonctionnalité rend les applications encapsulées dans des conteneurs plus sûres que l'exécution directe sur l'hôte.
Comme mentionné précédemment, la mise en miroir utilise le stockage hiérarchique, et il en va de même pour les conteneurs. Lorsque chaque conteneur est en cours d'exécution, l'image est la couche de base et une couche de stockage du conteneur actuel est créée dessus. La couche de stockage préparée pour la lecture et l'écriture du conteneur pendant l'exécution peut être appelée couche de stockage du conteneur.
Le cycle de vie de la couche de stockage du conteneur est le même que celui du conteneur. Lorsque le conteneur meurt, la couche de stockage du conteneur meurt également. Par conséquent, toutes les informations stockées dans la couche de stockage du conteneur seront perdues lors de la suppression du conteneur.
Conformément aux exigences des meilleures pratiques de Docker, le conteneur ne doit écrire aucune donnée sur sa couche de stockage et la couche de stockage du conteneur doit rester sans état. Toutes les opérations d'écriture de fichier doivent utiliser des volumes de données (volume) ou lier le répertoire hôte. La lecture et l'écriture à ces emplacements ignorent la couche de stockage et lisent et écrivent directement sur l'hôte (ou le stockage réseau). Ses performances et sa stabilité Sexe supérieur.
Le cycle de vie du volume de données est indépendant du conteneur, le conteneur meurt et le volume de données ne meurt pas. Par conséquent, une fois le volume de données utilisé, les données ne seront pas perdues une fois le conteneur supprimé ou réexécuté.
Deuxièmement, répertoriez les images du docker
Commencez par démarrer Docker
systemctl restart docker.service
Répertorier les images du docker
docker images
Trois, tire le miroir
Tirer du hub docker
Lors de l'extraction d'images à partir de Docker Hub, les problèmes suivants se produisent souvent:
Solution:
Docker extrait l'image du hub docker car elle est obtenue de l'étranger, ce qui est plus lent. Vous pouvez obtenir des images miroir du pays en configurant la source miroir domestique pour améliorer la vitesse d'extraction.
source miroir ustc (recommandé)
Configuration
cd /etc/docker
vi daemon.json
复制保存
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
Redémarrez le service Docker
systemctl restart docker.service
Tirez le miroir centos
docker pull centos
Une fois l'extraction réussie, vérifiez
docker images
Comment utiliser des miroirs tiers
https://hub.docker.com/search?type=image
Le document contient des instructions détaillées sur son utilisation
Quatrièmement, trouve le miroir
docker search tomcat
NAME: nom du miroir
DESCRIPTION: Description du miroir
STARS: évaluation de l'utilisateur, plus la valeur est élevée, plus
OFFICIEL: Est-ce officiel
AUTOMATISÉ: création automatique, ce qui signifie que l'image a été créée par le processus de construction automatique du hub docker;
Cinq, construis un miroir
Installez tomcat
1. Installez d'abord centos
Répertorier les images du docker
docker images
Si vous l'avez déjà, vous n'avez pas besoin de l'installer à nouveau. Si vous n'en avez pas, installez centos
docker pull centos
2. Créez un conteneur interactif
docker run -i -t --name=mycentos centos
Noter:
Que signifient ces deux paramètres (-i, -t)
Options | Moyenne |
---|---|
-je | Exécutez le conteneur en mode interactif, généralement utilisé avec -t; |
-t | Réallouer un pseudo terminal d'entrée pour le conteneur, généralement utilisé en même temps que -i; |
Dans le conteneur
Installez JDK
yum install java-1.8.0-openjdk* -y
Installation réussie
Définir les variables d'environnement
Une fois que centos8 a installé Java via yum, vérifiez le chemin d'installation de Java
ls -lrt /usr/bin/java
ls -lrt /etc/alternatives/java
vi /etc/profile
Collez le contenu suivant au bas du fichier et enregistrez
Remarque: après JAVA_HOME, se trouve votre chemin d'installation réel!
export JAVA_HOME=/usr/local/jdk-xxxx
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
生效命令:source /etc/profile
测试命令:java -version
Copier tomcat sur le serveur
Peut être téléchargé sur le serveur via SCP
Revenez au serveur docker, copiez tomcat dans le conteneur
docker cp apache-tomcat-8.5.47.zip mycentos:/root/
Entrez dans le conteneur
docker attach mycentos
Sortez du conteneur:
exit
Trouvez le conteneur
docker ps -a
Erreur:
You cannot attach to a stopped container, start it first
Solution: démarrez le conteneur
Voir le matou dans le conteneur
Décompressez le zip
Installez d'abord unzip
déménager à
mv apache-tomcat-8.5.47 /usr/local/tomcat8
Le conteneur est soumis en tant que nouvelle image
Quittez d'abord le conteneur
exit
Le conteneur est soumis en tant que nouvelle image
docker commit mycentos mytomcat8
Démarrez le conteneur tomcat avec la nouvelle image
-p est le mappage de port
docker run -d -i -t --name=tomcat -p 8888:8080 mytomcat8 /bin/bash
Démarrez le conteneur tomcat
Démarrez Tomcat
Remarque: le port accédé est le port mappé par docker, pas le port de tomcat lui-même
C'est la fin, c'est fini!