Docker est une technologie de conteneurisation open source qui utilise des conteneurs pour empaqueter, distribuer et exécuter des logiciels. Comparé aux machines virtuelles, Docker est plus léger, plus rapide et plus facile à utiliser, ce qui en fait un élément indispensable du développement et du déploiement d'applications modernes. Dans Docker, les fichiers image sont un élément très critique. Cet article explique comment générer des fichiers image Docker.
Avant de commencer à générer le fichier image Docker, quelques préparations doivent être effectuées. Tout d'abord, assurez-vous que Docker a été installé. Vous pouvez saisir « version de Docker » sur la ligne de commande pour vérifier si Docker fonctionne normalement et afficher les informations de version. Ensuite, vous devez préparer les applications/services à regrouper dans des images, tels que des applications Web, des services de base de données, etc. Enfin, vous devez déterminer l'environnement et les packages de dépendances dont dépend l'image, et les déclarer dans le Dockerfile.
Dockerfile est un fichier de script qui génère une image Docker. Il contient l'image de base spécifiée, l'environnement, les applications requises pour l'image et les commandes à exécuter. Lors de la création d'un Dockerfile, vous devez spécifier l'image de base. Par exemple, lors de la création d'une image d'application Java, vous pouvez utiliser l'image Java officielle comme image de base et spécifier la version jdk. Par exemple :
FROM openjdk:8-jdk-alpine
De plus, selon l'application, certains logiciels et outils supplémentaires doivent être introduits, tels que :
RUN apk --no-cache add curl RUN apk --no-cache add python3 RUN apk --no-cache add py3-pip
Déclarez ensuite l'emplacement de l'application, par exemple :
ADD target/app.jar /app.jar
Enfin, déclarez le démarrage commande du conteneur dans le Dockerfile :
CMD ["java", "-jar", "/app.jar"]
Après avoir créé le Dockerfile, vous pouvez générer une image Docker via la commande suivante :
docker build -t imagename:version .
où imagename est le nom de l'image et la version est le numéro de version, par exemple :
docker build -t myapp:1.0.0 .
Après avoir exécuté la commande ci-dessus, Docker téléchargera automatiquement l'image de base requise selon les instructions du fichier Docker et construira une nouvelle image selon les instructions. Créer une image Docker prend un certain temps, en fonction du temps nécessaire au téléchargement, à la compilation, etc. S'il n'y a pas de message d'erreur une fois la génération terminée, la génération de l'image a réussi.
Après avoir généré l'image Docker, vous pouvez la télécharger dans le référentiel Docker afin que d'autres puissent l'utiliser ou la déployer dans différents environnements. Avant de télécharger, vous devez créer votre propre compte d'entrepôt via DockerHub ou d'autres plateformes d'entrepôt tierces, et vous connecter via la commande suivante :
docker login
Ensuite, exécutez la commande suivante pour pousser l'image vers l'entrepôt :
docker push imagename:version
Par exemple :
docker push myapp:1.0.0
Lorsque l'image Docker est téléchargée avec succès dans l'entrepôt, d'autres peuvent extraire l'image via la commande suivante :
docker pull imagename:version
Par exemple :
docker pull myapp:1.0.0
Ensuite, le conteneur peut être exécuté via la commande suivante :
docker run -d -p hostPort:containerPort imagename:version
Par exemple:
docker run -d -p 8080:8080 myapp:1.0.0
Parmi eux, -d représente l'exécution du conteneur en mode arrière-plan, -p représente le mappage du port du conteneur avec le port de l'hôte, hostPort est le port de l'hôte , et containersPort est le numéro de port dans le conteneur.
En bref, la génération d'un fichier image Docker doit être spécifiée, construite et téléchargée dans l'entrepôt Docker via Dockerfile. Ensuite, l'image peut être extraite localement via la commande docker pull et le conteneur d'application peut être démarré via la commande docker run.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!