Docker Run vs Docker-Compose

Docker Run vs Docker-Compose
Docker est une plate-forme bien connue, open-source et universellement utilisée. Il fournit de nombreux utilitaires et composants de ligne de commande pour créer, exécuter et déployer des applications telles que «run docker" et "composer docker»Commandes. Les deux commandes sont utilisées pour créer et démarrer les conteneurs pour conteneuriser les applications et autres microservices.

Cet article démontrera:

  • Différence entre «docker-diable» et «docker-compose» dans Docker
  • Comment utiliser «Docker Run» dans Docker?
  • Comment utiliser «docker-compose» dans docker?

Différence entre «Docker Run» et «Docker-Compose» dans Docker

Les deux "run docker" et "composer docker»Les commandes sont utilisées dans un but similaire pour construire et tirer les conteneurs pour conteneuriser l'application ou les services. La principale différence entre ces deux commandes est la commande «Docker Run» exécute l'image pour créer un seul conteneur, et c'est une commande purement basée sur des terminaux. Tandis que la commande «docker-compose» lit les instructions du «docker-compose.Fichier YML »et est utilisé pour gérer et exécuter des applications multi-container. En d'autres termes, il peut créer et exécuter plus d'un conteneur à la fois.

Comment utiliser «Docker Run» dans Docker?

Docker "courir»La commande ne peut générer qu'un seul conteneur en même temps. Regardez les instructions pour utiliser le conteneur Docker Run pour docker une application.

Étape 1: faire dockerfile
Tout d'abord, créez un simple dockerfile qui contient des instructions simples pour docker l'application. Par exemple, nous avons créé «main1.dockerfile"Pour conteneuriser le"main1.aller”Code de Golang:

De Golang: 1.8
Workdir / go / src / app
Copier Main1.aller .
Exécuter Go Build -O Webserver .
POINT D'ACCÈS ["./serveur Web"]

Étape 2: Créez une image
Générer une nouvelle image en utilisant le dockerfile. Ici, "-t»Spécifie le nom de l'image et«-F”Est ​​utilisé pour définir le nom ou le chemin Dockerfile:

docker build -t go-image -f Main1.dockerfile .

Étape 3: Créer et démarrer un conteneur
Ensuite, utilisez le «run docker”Commande pour conteneriser l'application à l'aide de l'image docker. Le "-d»Flag exécutera le conteneur en mode détaché et«-p»Spécifie le port hôte local pour exposer le conteneur:

Docker Run -d -P 8080: 8080 Go-Image

Énumérez tous les conteneurs pour vérifier si le conteneur est créé et exécuter sur le port d'exposition ou non:

docker ps -a

Alternativement, vous pouvez visiter le port assigné de l'hôte local pour vérifier si le conteneur est en cours d'exécution ou non:

Comment utiliser «docker-compose» dans docker?

Docker Compose est une partie essentielle de la solution Docker utilisée pour exploiter et gérer les projets et services multi-conteneurs. Le "composer docker»La commande lit les instructions du fichier de composition. Ensuite, commencez les services en construisant et en exécutant les conteneurs.

Pour utiliser le «composer docker»Dans Docker, passez par la procédure donnée.

Étape 1: Créez «Docker-Compose.fichier yml ”
Tout d'abord, créez un fichier nommé "composer docker.YML»Fichier et configurer les services requis pour exécuter. Par exemple, nous avons configuré les configurations suivantes:

  • "prestations de service"Configure deux services différents,"la toile" et "web2".
  • Le service «Web» utilise le «principal.dockerfile«Pour conteneuriser et exécuter le«principal.aller»Programme.
  • Le service «Web2» utilise le «main1.dockerfile«Pour docker et exécuter le«main1.aller»Programme.
  • "ports»La touche est utilisée pour spécifier le port d'exposition pour le conteneur. Dans notre scénario, Docker affectera automatiquement le port d'exposition au service «Web», et le service «Web2» exposera le port 8080:
Version: "Alpine"
prestations de service:
la toile:
construire:
dockerfile: principal.dockerfile
commande: ["./serveur Web"]
PORTS:
- 8080
web2:
construire:
dockerfile: Main1.dockerfile
PORTS:
- 8080: 8080

Étape 2: Démarrer les conteneurs
Ensuite, démarrez les conteneurs à l'aide de la commande mentionnée:

docker-compose up -d

Étape 3: Énumérez les conteneurs
Énumérez les conteneurs de composition et vérifiez si les services définis s'exécutent ou non dans des conteneurs distincts:

docker-compose ps -a

Içi vous pouvez voir "la toile"Exécute sur le port"62689" et "web2"Exposant"8080»:

Vous pouvez naviguer dans les ports exposés des conteneurs pour la vérification:

On peut observer que nous avons exécuté avec succès deux conteneurs différents à la fois du «composer docker" commande:

Conclusion

Le "composer docker" et "run docker«Les deux commandes sont exécutées pour créer et exécuter les conteneurs. La principale différence entre ces deux commandes est la commande «docker run» crée un seul conteneur en même temps. Cependant, «docker-compose» peut créer, gérer et exécuter plusieurs conteneurs simultanément. Cette rédaction a démontré la principale différence entre les commandes «docker-compose» et «docker run».