Comment exécuter une instance Docker à partir d’un fichier Docker ?

Comment Executer Une Instance Docker A Partir D Un Fichier Docker



Docker est une plate-forme ouverte très appréciée qui est universellement utilisée pour créer, tester, déployer et expédier des applications dans un environnement conteneurisé. Docker utilise le niveau de virtualisation du système d'exploitation et prend en charge différents composants tels que les conteneurs Docker, les images, les réseaux et le volume Docker.

Les conteneurs Docker sont l'un des composants essentiels de la plate-forme Docker qui regroupe le programme, les paramètres de configuration et les dépendances à l'aide de l'image Docker. L'image Docker est un simple modèle ou instantané d'un conteneur qui guide le conteneur sur la façon de conteneuriser une application. Ces images sont pour la plupart disponibles sur le registre officiel du hub Docker. Les utilisateurs peuvent également concevoir ces images en fonction des exigences du projet à l'aide de Dockerfile.

Ce blog expliquera :







Qu'est-ce qu'un Dockerfile ?

Un Dockerfile est un fichier texte normal qui contient des commandes et des instructions qui définissent la structure de base d'un conteneur Docker. Ces instructions peuvent être exécutées dans le terminal sans aucun fichier, mais exécuter chaque commande une après une est une tâche mouvementée et complexe. Dockerfile permet aux développeurs de spécifier facilement toutes les exigences et instructions dans un seul fichier. Ce fichier sera ensuite utilisé pour créer le modèle de conteneur qui est une image Docker. Après cela, l'image Docker est exécutée pour démarrer l'instance dans le conteneur Docker.



Commandes de base de Dockerfile

Certaines commandes de base de Dockerfile utilisées pour définir l'instantané de base du conteneur sont répertoriées ci-dessous sous forme de tableau :



Commandes Description
DEPUIS Le ' DEPUIS 'La commande est utilisée pour définir l'image de base du modèle de conteneur. Ces images sont extraites du registre Docker officiel Docker Hub.
MAINTENANT Le ' MAINTENANT ' La commande définit les informations sur l'auteur (nom et e-mail) qui crée l'image Docker.
RÉPERT TRAVAIL Il spécifie le répertoire de travail d'une application conteneurisée.
COPIE Utilisé pour copier les fichiers source et de configuration du système hôte vers le chemin spécifié du conteneur Docker.
AJOUTER Le ' AJOUTER ' La commande est similaire à la commande ' COPIE ', mais il prend également en charge l'URL distante pour ajouter le fichier de l'URL au chemin du conteneur, par exemple du référentiel GitHub au chemin du conteneur.
COURIR Le ' COURIR » est utilisé pour exécuter les commandes dans le conteneur. Dans Dockerfile, il est principalement utilisé pour gérer et installer des dépendances supplémentaires à l'intérieur du conteneur.
CMD ' CMD » définit les points par défaut des conteneurs Docker. Il définit essentiellement les exécutables et les paramètres par défaut du « POINT D'ACCÈS ».
POINT D'ACCÈS Le ' POINT D'ACCÈS La commande ' est également utilisée pour définir les exécutables du conteneur Docker. Il définit essentiellement les applications par défaut utilisées à chaque fois dans un conteneur. La commande ENTRYPOINT est également utilisée une fois dans un Dockerfile.
UTILISATEUR Cette commande est utilisée pour définir l'UID (nom d'utilisateur) pour exécuter les commandes dans le conteneur
VOLUME Le ' VOLUME 'La commande est utilisée pour lier ou monter le volume externe (système de fichiers) avec un conteneur.
ENV Le ' ENV 'La commande est utilisée pour définir les variables d'environnement du conteneur.
ARG Le ' ARG ' est utilisé pour transmettre les arguments à l'intérieur du conteneur.
EXPOSER Le ' EXPOSER ' La commande spécifie les ports d'exposition sur lesquels le conteneur sera exécuté.
CONSTRUIRE Il lit les instructions de l'image de base mais déclenche ces instructions via l'image en aval.
ÉTIQUETTE Le ' ÉTIQUETTE ' est utilisé pour spécifier les métadonnées de l'instantané du conteneur.

Comment exécuter une instance Docker à partir d'un fichier Docker dans Docker ?

Pour exécuter une instance ou un conteneur Docker à l'aide de Dockerfile, créez d'abord un Dockerfile. Ensuite, créez l'instantané de base du conteneur à l'aide de Dockerfile. Après cela, exécutez l'instantané pour démarrer l'instance Docker.





Suivez les instructions ci-dessous à titre d’illustration.

Étape 1 : Créer un fichier Docker

Tout d’abord, créez un Dockerfile. N'oubliez pas que Dockerfile n'a aucune extension de fichier. Après cela, collez les commandes suivantes dans le fichier :



DE golang : 1.8

RÉPERT TRAVAIL / aller / src / application

COPIER main.go .

COUREZ, allez construire -O serveur Web .

EXPOSER 8080 : 8080

POINT D'ACCÈS [ './serveur Web' ]

Étape 2 : Créer un fichier programme

Ensuite, créez un nouveau fichier nommé « main.go » qui contient le simple programme Golang. Pour cela, collez le programme suivant dans le fichier :

paquet principal
importer (
'fmt'
'enregistrer'
'net/http'
)

gestionnaire de fonctions ( Dans http.ResponseWriter, r * http.Requête ) {
fmt.Fprintf ( Dans , 'Bonjour ! Bienvenue dans le didacticiel LinuxHint' )
}
fonction principale ( ) {
http.HandleFunc ( '/' , gestionnaire )
log.Fatal ( http.ÉcouterEtServir ( '0.0.0.0:8080' , nul ) )
}

Étape 3 : Générer un instantané du conteneur

Maintenant, créez l’instantané Docker du conteneur en utilisant « docker build -t -f . » :

construction de docker -t allez-img -F Fichier Docker .

Dans la commande ci-dessus, le ' -t L'option 'définit le nom ou la balise de l'image', -F ' L'option spécifie le chemin d'accès au Dockerfile à partir duquel le moteur Docker doit lire le contexte de construction :

Pour vérifier si l'image est créée avec succès ou non, exécutez le ' images docker ' commande:

images docker go-img

Le résultat montre que nous avons réussi à créer l’instantané du conteneur à partir du Dockerfile :

Étape 4 : exécutez l'instantané pour lancer le conteneur

Maintenant, démarrez l'instance de Docker dans le conteneur Docker en exécutant l'instantané du conteneur créé à l'étape ci-dessus :

exécution du docker -p 8080 : 8080 --nom suite -d allez-img

Dans la commande ci-dessus, le ' -p ' L'option exécute le conteneur sur le ' 8080 ' port, ' -nom ' définit le nom du conteneur et le ' -d ' L'option exécute le conteneur en mode détaché (service en arrière-plan) :

Pour vérifier si le conteneur est en cours d'exécution ou non, répertoriez les conteneurs en cours d'exécution à l'aide du «  docker ps ' commande:

docker ps

Maintenant, accédez à « http://localhost:8080 ' et vérifiez si l'application s'exécute sur le port exposant ou non :

Le résultat ci-dessus indique que nous avons effectivement démarré l'instance Docker à l'aide de Dockerfile.

Comment exécuter une instance à partir d'un fichier Docker dans Docker Compose ?

Docker compose est un autre plugin majeur de la plateforme Docker qui nous permet d'exécuter plusieurs instances dans différents conteneurs en même temps. Les utilisateurs peuvent également exécuter l'instance Docker à partir de Dockerfile à l'aide du plugin Docker compose. À titre d’illustration, suivez les étapes indiquées.

Étape 1 : Créer un fichier Docker

Tout d’abord, créez un Dockerfile. Par exemple, nous utilisons le même Dockerfile et le même fichier programme que ceux utilisés dans la section ci-dessus :

DE golang : 1.8

RÉPERT TRAVAIL / aller / src / application

COPIER main.go .

COUREZ, allez construire -O serveur Web .

EXPOSER 8080 : 8080

POINT D'ACCÈS [ './serveur Web' ]

Étape 2 : Créer un fichier docker-compose.yml

Ensuite, créez un « docker-compose.yml ' et copiez les paires de clés suivantes dans le fichier :

version: '3'

prestations de service:

la toile:
construire: .
ports :
- 8080 : 8080

Dans l'extrait mentionné ci-dessus :

  • ' prestations de service » est utilisé pour spécifier les services de composition qui seront exécutés dans un conteneur séparé. A titre d’illustration, nous n’avons configuré qu’un seul service » la toile » pour garder le code propre et simple.
  • ' construire 'La paire de clés est utilisée pour lire le contexte de construction à partir du Dockerfile. Ici, Docker lira les instructions du Dockerfile et construira le conteneur en conséquence.
  • ' ports La clé ' définit les ports exposants sur lesquels le conteneur sera exécuté.

Étape 3 : Démarrer l'instance Docker

Maintenant, exécutez l'instance Docker dans un conteneur en utilisant le ' docker-composer ' commande:

docker-composer -d

Pour vérification, vérifiez la liste des conteneurs de composition en cours d’exécution à l’aide du «  docker-composer ps ' commande:

docker-composer ps

La sortie montre que le « la toile ' Le service s'exécute avec succès dans le ' golangapp-web-1 ' récipient:

Accédez au port d'exposition du service de composition et vérifiez si le programme est en cours d'exécution ou non. Le résultat ci-dessous montre que nous avons démarré avec succès l'instance Docker à partir de Dockerfile à l'aide de Docker compose :

Il s’agit d’exécuter une instance Docker à partir d’un Dockerfile.

Conclusion

Pour exécuter une instance Docker dans un conteneur à partir d'un Dockerfile, créez d'abord Dockerfile. Ajoutez les commandes à l'intérieur du fichier pour créer l'image ou le modèle du conteneur Docker. Ensuite, créez l’image du conteneur ou l’instantané à l’aide du bouton « docker build -t -f . ' commande. Maintenant, exécutez l'image du conteneur pour démarrer l'instance Docker. Les utilisateurs peuvent également utiliser Docker compose pour exécuter l'instance Docker à partir de Dockerfile. Cet article a illustré comment exécuter une instance Docker à partir d'un fichier Docker.