Comprendre les constructions à plusieurs stages Docker

Comprendre les constructions à plusieurs stages Docker
La construction en plusieurs étapes dans Docker spécifie une série de builds dans un dockerfile. Les instructions Dockerfile sont divisées en plusieurs sections ou niveaux et contiennent plus d'un «DEPUIS" déclaration. Dans la construction à plusieurs étages, le processus de développement est divisé en multi-sages. La première commande «From» définit l'image parent ou de base, et cette section contient principalement les instructions d'installation ou de configuration, et les sous-sections utilisent les dépendances de l'instruction de base.

Ce message démontrera le concept de base de la construction de docker à plusieurs étapes.

Différence entre la construction simple et la construction à plusieurs étages

Une construction simple n'en contient qu'un «DEPUIS”Pour spécifier l'image de base. Toutes les dépendances d'installation et les fichiers source sont traités dans une seule section. L'image construite à travers la construction simple est également de taille énorme. Cependant, les constructions à plusieurs étapes sont divisées en plusieurs étapes et ont plusieurs instructions «de». La construction à plusieurs étages est également utile pour réduire la taille de l'image. Il peut également être utilisé si les utilisateurs souhaitent traiter ou créer des images en morceaux pour exécuter du code en sections.

Comment faire une image à partir de constructions à plusieurs étapes?

Pour créer une image Docker simple à partir de constructions à plusieurs étages, créez d'abord un docker à plusieurs niveaux. Ensuite, exécutez le «construire»Commande de Docker pour construire l'image. Pour ce faire, regardez les étapes données.

Étape 1: Terminal ouvert

Tout d'abord, lancez le terminal à partir du menu Démarrer pour utiliser Docker CLI. Pour ce faire, nous utiliserons le «Git bash”Sur Windows:

Ouvrez le répertoire / dossier des applications à l'aide du «CD" commande:

$ CD Multistage

Étape 2: Créer un fichier de code

Ensuite, créez un fichier de programme. À cette fin, nous avons utilisé l'éditeur de texte Nano pour créer un «principal.aller»Fichier du programme. Cependant, vous pouvez également utiliser le bloc-notes ou l'éditeur de code Visual Studio:

$ nano main.aller

Collez le code donné ci-dessous dans le fichier:

importer (
"FMT"
"enregistrer"
"net / http"
)
Funchandler (w http.Réponsewriter, r * http.Demande)
fmt.Fprintf (w, "Bonjour! Bienvenue au tutoriel Linuxhint ")

funcmain ()
http.Handlefunc ("/", gestionnaire)
enregistrer.Fatal (HTTP.ÉcouterAndServe ("0.0.0.0: 8080 ", nul))

Étape 3: Créer un docker à plusieurs degrés

Ensuite, générez et ouvrez "Dockerfile«Dans un éditeur de texte nano pour spécifier les instructions à plusieurs degrés pour la construction à plusieurs degrés:

$ nano dockerfile

Copiez l'extrait ci-dessous dans Dockerfile. Ici, les instructions Dockerfile sont divisées en deux sections:

  • La première section utilise le «Golang: 1.8«En tant qu'image de base et contient les instructions de base.
  • La deuxième section utilise le «alpin”Image et définit les paramètres par défaut ou le point d'entrée via l'instruction« CMD »:
De Golang: 1.8 comme base
Workdir / go / src / app
Copier principal.aller .
Exécuter Go Build -O Webserver .
De Alpine
WorkDir / App
Copy --from = base / go / src / app / app /
CMD ["./serveur Web"]

Étape 4: Générer l'image Docker à plusieurs degrés

À l'aide d'un DockerFile à plusieurs étages, générez l'image via «docker" commande. Ici, pour définir l'étiquette / nom d'une image, nous avons utilisé le «-t" drapeau:

$ docker build -t new-web-image .

Vérifiez si l'image est créée ou non en utilisant le «images docker " commande:

$ docker images new-web-image

La sortie ci-dessous montre que l'image est créée et que la taille de l'image est uniquement «12.9 Mo»:

Étape 4: Exécutez l'image docker

Afin d'exécuter l'image pour créer et démarrer un conteneur pour le déploiement du programme, passez par la commande mentionnée. Ici le "-p»Le drapeau est utilisé pour allouer le port exposé du conteneur:

$ docker run -p 8080: 8080 Nouveau-web-image

Visitez le port d'exposition de l'hôte local dans le navigateur pour vérifier si le conteneur est démarré ou non:

À partir de l'image ci-dessus, il peut être clair que nous avons déployé le programme via la construction à plusieurs degrés.

Conclusion

Dans la construction à plusieurs étages, le processus de développement est divisé en multi-sages. Le dockerfile est divisé en plusieurs sections et a plusieurs «DEPUIS»Déclarations. Il peut être utilisé si les utilisateurs souhaitent traiter ou créer des images en morceaux pour exécuter du code en sections. La construction à plusieurs étages est également utile pour réduire la taille de l'image. Cet article a démontré la compréhension de base des constructions à plusieurs stages Docker.