Guide d'utilisation de Docker : installation, concepts de base et étapes de fonctionnement

Docker est une plate-forme de conteneurisation open source pour la création, l'empaquetage et l'exécution d'applications. Il fournit un moyen léger, portable et évolutif de regrouper une application et toutes ses dépendances dans un conteneur autonome. Ce qui suit est un guide d'utilisation destiné aux novices de Docker pour vous aider à comprendre les concepts de base et les étapes de fonctionnement de Docker.

Installer Docker

Avant de commencer, vous devez d'abord installer Docker sur votre système d'exploitation. Docker prend en charge plusieurs systèmes d'exploitation, notamment Linux, macOS et Windows. Voici les guides d'installation de Docker pour différents systèmes d'exploitation :

Installation Debian

Vous pouvez installer Docker sur les systèmes Debian en suivant les étapes fournies dans la documentation officielle de Docker. Lien vers la documentation : https://docs.docker.com/engine/install/debian/

Installation CentOS

Si vous utilisez un système CentOS, vous pouvez l'installer selon les étapes fournies dans la documentation officielle de Docker. Lien vers la documentation : https://docs.docker.com/engine/install/centos/

Une fois l'installation terminée, vous pouvez vérifier si Docker a été installé avec succès en exécutant la commande suivante :

docker version

Si tout va bien, vous devriez pouvoir voir les informations de version sur le client et le serveur Docker.

Debian 11.3 version Docker

Concepts de base de Docker

Avant de commencer à utiliser Docker, plusieurs concepts de base doivent être compris :

  • Image : Une image est un modèle en lecture seule utilisé pour créer des conteneurs Docker. Il contient tous les fichiers, bibliothèques et dépendances nécessaires à l'exécution de l'application. Vous pouvez créer votre propre image ou obtenir une image prête à l'emploi à partir de Docker Hub ou d'autres référentiels d'images.

  • Conteneur : Un conteneur est une instance en cours d'exécution créée par une image. Il peut être démarré, arrêté, supprimé et déplacé. Les conteneurs sont des environnements d'exécution autonomes et isolables dans lesquels les applications peuvent s'exécuter indépendamment du système hôte.

  • Dockerfile : Un Dockerfile est un fichier texte qui contient une série d'instructions et de configurations pour créer une image de conteneur. En écrivant un Dockerfile, vous pouvez définir l'environnement d'exécution, les dépendances et d'autres configurations de l'application.

  • Dépôt : Le référentiel est un endroit utilisé pour stocker et distribuer des images Docker. Docker Hub est le référentiel public le plus populaire où vous pouvez obtenir différents types d'images. Vous pouvez également créer votre propre référentiel privé pour gérer vos propres images.

Fabriquer un miroir

Créer une image est une étape importante dans l'utilisation de Docker. Vous pouvez définir le processus de création d'image et la configuration en écrivant un Dockerfile.

https://docs.docker.com/engine/reference/builder/

Structure du répertoire :

.
├── AppRun
├── default.desktop
├── default.png
├── doc
│   ├── libdbus-1-3
│   │   └── copyright
│   ├── libkeyutils1
│   │   └── copyright
│   ├── liblzma5
│   │   └── copyright
│   └── libpcre3
│       └── copyright
├── Dockerfile
├── lib
│   ├── libdbus-1.so.3
│   ├── libgcrypt.so.20
│   ├── libglib-2.0.so.0
│   ├── libgssapi_krb5.so.2
│   ├── libgthread-2.0.so.0
│   ├── libicudata.so.56
│   ├── libicui18n.so.56
│   ├── libicuuc.so.56
│   ├── libk5crypto.so.3
│   ├── libkeyutils.so.1
│   ├── libkrb5.so.3
│   ├── libkrb5support.so.0
│   ├── liblz4.so.1
│   ├── liblzma.so.5
│   ├── libpcre.so.3
│   ├── libQt5Core.so.5
│   ├── libQt5DBus.so.5
│   ├── libQt5Network.so.5
│   ├── libsystemd.so.0
│   └── libzstd.so.1
├── AppName
├── plugins
│   └── bearer
│       ├── libqconnmanbearer.so
│       ├── libqgenericbearer.so
│       └── libqnmbearer.so
├── qt.conf
├── .dockerignore
├── sources.list
└── translations
    └── qt_en.qm

Voici un exemple simple de Dockerfile :

FROM debian:bullseye

COPY sources.list /etc/apt

ENV DEBIAN_FRONTEND=noninteractive

WORKDIR /usr/local/bin/app

COPY . /usr/local/bin/app

RUN /bin/chmod +x /usr/local/bin/app/AppName

CMD ["./AppName"]

Il s'agit d'un simple Dockerfile utilisé pour créer un conteneur basé sur l'image Debian Bullseye. Vous trouverez ci-dessous une explication de chaque directive :

  1. FROM debian:bullseye: Spécifie l'image de base comme Debian Bullseye. Il servira d’environnement initial requis pour la construction.

  2. COPY sources.list /etc/apt: Copiez les fichiers de l'hôte sources.listvers le /etc/aptrépertoire du conteneur. sources.listIl s'agit d'un fichier utilisé pour configurer la source du progiciel dans le système Debian. Il est copié dans le conteneur pour l'installation ultérieure du progiciel.

  3. ENV DEBIAN_FRONTEND=noninteractiveDEBIAN_FRONTEND: Définissez la valeur d' une variable d'environnement sur non interactive. Ce paramètre de variable d'environnement peut effectuer des processus d'installation ultérieurs de progiciels sans interaction homme-machine et éviter les invites interactives.

  4. WORKDIR /usr/local/bin/app: Spécifie le répertoire de travail du conteneur /usr/local/bin/app. Les instructions suivantes seront exécutées dans ce répertoire.

  5. COPY . /usr/local/bin/app: Copie tous les fichiers et dossiers du répertoire hôte actuel dans le répertoire du conteneur /usr/local/bin/app. Cela inclura tout ce qui se trouve dans le répertoire où se trouve le Dockerfile.

  6. RUN /bin/chmod +x /usr/local/bin/app/AppName: Exécutez la commande dans le conteneur /bin/chmod +x /usr/local/bin/app/AppName. /usr/local/bin/app/AppNameCette commande ajoute des autorisations exécutables aux fichiers du conteneur .

  7. CMD ["./AppName"]: Définissez la commande par défaut lors du démarrage du conteneur ./AppName. Cela exécutera le fichier exécutable à l'intérieur du conteneur ./AppName.

Dans l'ensemble, la fonction de ce Dockerfile est de créer un conteneur basé sur l'image Debian Bullseye et sources.listde copier les fichiers de l'hôte vers le conteneur pour configurer la source du package. Il définit ensuite le répertoire de travail sur celui-ci /usr/local/bin/app, copie tous les fichiers et dossiers de l'hôte vers ce répertoire du conteneur et ajoute des AppNameautorisations exécutables aux fichiers du conteneur. Enfin, au démarrage du conteneur, ./AppNamel'exécutable sera exécuté comme commande par défaut.

Notez que la commande COPY ne peut copier que les fichiers du répertoire actuel et des sous-répertoires du Dockfile, les /etc/apt/sources.listfichiers système sont donc copiés ici à l'avance.

Pour créer l'image, vous pouvez utiliser la commande suivante :

docker build -t image-name:tag .

Parmi eux, -tles paramètres précisent le nom et le label de l'image, .indiquant le répertoire actuel où se trouve le Dockerfile. Le processus de construction sera exécuté étape par étape selon les instructions du Dockerfile et l'image sera générée.

Une fois l'image construite, vous pouvez utiliser la commande suivante pour afficher la liste des images construites :

docker images

Vous pouvez désormais utiliser cette image pour créer et exécuter des conteneurs.

Créer et exécuter des conteneurs

Pour créer un conteneur, vous pouvez utiliser la commande suivante :

docker run -d --name container-name -p host-port:container-port image-name:tag

Parmi eux, -dle paramètre indique que le conteneur s'exécute en arrière-plan, --namele paramètre spécifie le nom du conteneur, -ple paramètre spécifie la relation de mappage entre le port hôte et le port du conteneur, image-name:taget est le nom de l'image et l'étiquette que vous souhaitez utiliser. .

Si vous devez redémarrer automatiquement le conteneur, vous pouvez docker run -d --name container-name -p host-port:container-port image-name:tag ajouter les instructions suivantes à la fin.
--restart=always: Cette option indique à Docker de redémarrer automatiquement le conteneur à sa sortie. Que le conteneur soit arrêté manuellement ou qu'une erreur se produise entraînant la fermeture du conteneur, Docker tentera de redémarrer le conteneur.

Après avoir exécuté le conteneur, vous pouvez utiliser la commande suivante pour afficher la liste des conteneurs en cours d'exécution :

docker ps

Si vous souhaitez accéder à la borne interactive du conteneur, vous pouvez utiliser la commande suivante :

docker exec -it container-name /bin/bash

container-nameest le nom du conteneur.

Pour arrêter et supprimer un conteneur, vous pouvez utiliser les commandes suivantes :

docker stop container-name
docker rm container-name

Ces commandes arrêteront le conteneur et supprimeront l'instance de conteneur.

Exporter et importer des images

Si vous devez transférer une image d'un environnement à un autre, vous pouvez utiliser les méthodes d'exportation et d'importation.

Exporter l'image

Exportez l'image dans un fichier à l'aide de la commande suivante :

docker save -o appname_image.tar appname:latest

Cette commande appname_image:latestexportera l'image nommée vers appname_image_image.tarun fichier nommé .

Importer une image

Utilisez la commande suivante pour importer un fichier image :

docker load -i appname_image.tar

Cette commande appname_image.tarchargera l'image à partir d'un fichier nommé.

Il s'agit de directives d'utilisation de base pour Docker qui, espérons-le, vous aideront à démarrer avec Docker et à commencer à utiliser la conteneurisation pour créer et déployer des applications. En utilisant Docker, vous pouvez gérer plus facilement les dépendances des applications, les environnements de déploiement et les configurations en cours d'exécution. Si vous souhaitez en savoir plus sur davantage de fonctions et sur l'utilisation avancée de Docker, vous pouvez vous référer à la documentation officielle de Docker ou à d'autres ressources connexes.

Je suppose que tu aimes

Origine blog.csdn.net/cheungxiongwei/article/details/131785930
conseillé
Classement