Docker Compose Peut être réalisé Docker Orchestration des grappes de conteneurs,Peut passer docker-compose.yml Documentation,Définir nos services et les dépendances dont ils ont besoin,Facile à tester、Environnement de production, etc.

Documentation

Product manuals

Compose file version 3 reference

Docker Du début à la pratique 【En chinois】

Installation Compose

Compose Dépendance Docker Engine,Tout pour s'assurer que l'environnement est installé Docker,RéférencesTutoriel officiel,Il y a deux étapes principales:

# 1. Télécharger Compose Exécuter uniquement les fichiers vers usr/local/bin/ Table des matières
# L'échec du téléchargement peut se référer au résumé suivant pour l'installation de l'adresse
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # 2. C'est exact. Compose Exécutable ajouter des permissions d'exécution
sudo chmod +x /usr/local/bin/docker-compose # Saisissez la commande suivante pour voir l'aide,Tester le succès de l'installation
docker-compose -h

Compose Open Source at Docker Official GitHub Entrepôt:docker/compose,Tous les Compose Tout sera publié dans l'entrepôt Releases - Oui.,Étapes1Est d'utiliser curl Commande depuis Releases Télécharger l'exécutable,uname -sEtuname -m Le nom du noyau et l'architecture matérielle du système peuvent être lus,Pour faire correspondre Compose Version, curl De -L Les paramètres font HTTP Demande de suivre la redirection(Par défaut ne suit pas),-o (Minusculeo) Enregistrer la réponse du serveur dans un fichier,Télécharger directement à:usr/local/bin/ En bas.,Nom du fichier:docker-compose,Parce que ce chemin est déjà dans la variable d'environnement,Alors finis les étapes2,Après avoir ajouté des permissions exécutables,Peut être utilisé n'importe où

Directement à partir de GitHub Les téléchargements sont lents et peuvent être téléchargés à l'adresse suivante:

# https://vuepress.mirror.docker-practice.com/compose/install/
sudo curl -L https://download.fastgit.org/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose

Introduction

Compose Les instructions du modèle pour Docker De run Les paramètres liés à la commande sont très similaires,J'ai oublié docker Les commandes peuvent se référer à un blog précédent:Docker Pratique et ordre de toilettage

Compose Il y a deux concepts importants:

  • Services (service):Un conteneur pour une application,Vous pouvez en fait inclure plusieurs instances de conteneur qui exécutent le même miroir

  • Projets (project):Une Unit é d'affaires complète composée d'un ensemble de conteneurs d'application associés,In docker-compose.yml Défini dans le fichier

docker-compose.yml Le format est le suivant:,Attention!:YAML Le fichier doit saisir entre les valeurs : Il doit y avoir un espace derrière,L'indentation indique le niveau,Attention à l'indentation

Il y a des volumes Et networks Doit déclarer

# Spécifier la version
version: "3"
# Collection de services
services:
# Un des services,Le nom du service est:webapp
webapp:
# Spécifiez le miroir utilisé par le service
image: examples/web
# Cartographie des ports
ports:
- "80:80"
# Volume de données
volumes:
- "/data"

Simple coup de main

Dans un Compose Démarrage moyen Tomcat, MySQL, redis,Création docker-compose.yml

version: "3.0"
services:
tomcat:
container_name: mytomcat # --name
image: tomcat:8.0-jre8
ports:
- "8080:8080"
volumes:
- "tomcatwebapps:/usr/local/tomcat/webapps"
networks:
- some_network
# tomcat Le service dépend de mysql Et redis
depends_on:
- mysql
- redis
mysql:
container_name: mysql
image: mysql:5.7.32
ports:
- "3306:3306"
volumes:
- "mysqldata:/var/lib/mysql"
- "mysqlconf:/etc/mysql"
environment:
- MYSQL_ROOT_PASSWORD=1234
networks:
some_network:
redis:
container_name: redis
image: redis:5.0.10
ports:
- "6379:6379"
volumes:
- "redisdata:/data"
command: "redis-server --appendonly yes"
networks:
some_network: # Utilisé dans volumes Et networks Doit déclarer
volumes:
tomcatwebapps:
mysqldata:
mysqlconf:
redisdata: networks:
# Le nom de la déclaration est “some_network” Le réseau de
some_network:

In docker-compose.yml Exécution sur le chemin docker-compose up Démarrage Compose Projets,Il télécharge le miroir utilisé et exécute le Journal d'impression au premier plan,Peut être utilisé Ctrl + C Résiliation

Si l'exécution de fond est nécessaire docker-compose up -d,Pour le moment docker ps Je vois. Compose Déjà basé sur yaml Conteneur associé créé,Utiliser docker-compose down Arrêtez! Compse Et supprimer les ponts créés automatiquement

Utiliser docker network ls Voir le réseau ou docker volume ls Voir le volume de données,Compose Le format de nom de réseau ou de volume de données défini est:docker-compose.ymlLe nom du dossier dans lequel vous travaillez est souligné plus yaml Nom défini dans,Si dans "dockerfile" Créer sous le dossier yaml Fichier et démarrage,Le nom du réseau est:dockerfile_some_network

tomcat Le Service a utilisé depends_on,Indique qu'il dépend de redis Et mysql Services,Compose Démarre d'abord ses dépendances pour le redémarrer

Commande de toilettage

Docker Compose Les ordres de Dokcer Similaire,Peut être utilisé --help Paramètres,Vous pouvez trouver comment utiliser la commande correspondante

docker-compose --help

Le nom de fichier par défaut du modèle de démarrage est docker-compose.yml,Peut être utilisé -f Spécifiez un fichier modèle personnalisé

Peut passer config Les ordres,Vérifiez que la syntaxe du fichier modèle est correcte

docker-compse Contient également de nombreuses sous - commandes:

Démarrer et arrêter la corrélation:up, down, restart, stop, pasue, unpause

Ressources liées à:ps, top, kill, run

Dans le récipient:exec

Voir le journal:logs

Un certain nombre de sous - commandes peuvent suivre un certain service Nom,Fonctionnement directionnel,Voici quelques exemples,

Peut être utilisédocker-compose help Suivre les noms des sous - commandes,Demande son utilisation

# Démarrage de l'arrière - plan yaml Tous les conteneurs définis
docker-compose up -d
# Démarrage seulement mysql C'estservice,Va démarrer ses dépendances service
docker-compose up mysql Spécifiez le démarrageserverNom,
# Arrêter le conteneur et supprimer le pont créé automatiquement
docker-compose down
# Redémarrer tout service Vous pouvez spécifier un service
docker-compose restart # Pause Et Reprise
docker-compose pause
docker-compose unpause # Entrée redis C'est service Utiliser exit Sortie
docker-compose exec redis bash # Liste actuelle yaml Informations sur les conteneurs définis dans
docker-compose ps # Supprimer le courant yaml Conteneur tel que défini dans,D'abord. stop,Vous pouvez spécifier un service
docker-compose rm # Voir chaque service État du processus en cours d'exécution dans le conteneur
docker-compose top # Affichage des journaux affichage par défaut yaml Tous les,Peut suivre les détails service
# -f Peut garder une trace,Le nouveau journal apparaîtra immédiatement à l'écran
docker-compose logs

Références

curl Guide d'utilisation pour

【Mauvaise programmation】DockerTechnologie des conteneurs&Docker-ComposeSur le terrain

Docker Compose Plus d'articles sur la pratique et le toilettage

  1. Spring Boot 2 (Cinq):Docker Compose + Spring Boot + Nginx + Mysql Pratique

    Spring Boot 2 (Cinq):Docker Compose + Spring Boot + Nginx + Mysql Pratique Spring Boot + Nginx + Mysql C'est le travail réel ...

  2. Spring Boot 2.0(Cinq):Docker Compose + Spring Boot + Nginx + Mysql Pratique

    Je sais que tout le monde m'a vu écrire sur docker Articles connexes , Pas de douleur, pas de démangeaisons , Je ne ressens toujours pas docker La commodité de ,C'est vrai.,C'est ce que je pensais aussi,I know your felling . Comprendre le concept au début, c'est vrai ...

  3. DCOS Partage des pratiques (2):Basé surDocker ComposeEtSwarmDeDocker Le chemin de la transformation

    2016 Année1 Mois 23 Jour, Le jour le plus froid de l'histoire de Pékin . Dans l'après - midi 1 À 30 h 30 ,Par DaoCloud Sponsored 2016 Pour la première fois de l'année  Docker Meetup Commencez à l'heure . Cette foisMeetupMoyenne, J'ai partagé ...

  4. (Tourne.)Spring Boot 2 (Cinq):Docker Compose + Spring Boot + Nginx + Mysql Pratique

    http://www.ityouknow.com/springboot/2018/03/28/dockercompose-springboot-mysql-nginx.html Je sais que tout le monde a regardé ...

  5. Docker Compose Déploiement de l'outil d'Orchestration lnmp Pratique et théorie (Détails)

    Table des matières Un.. Aperçu de la théorie Chorégraphie Déploiement ComposePrincipes 2..Utiliserdocker compose Déploiementlnmp Trois.Tests Quatre.Résumé Un.. Aperçu de la théorie Docker Compose Est une définition et plusieurs opérations DockerRong ...

  6. Docker Compose Principes

    Docker Les avantages de, Surtout pour les développeurs , .Il offre un nouveau mécanisme de distribution de logiciels .C'est - à - dire utiliser docker Miroir comme support pour les produits logiciels ,Utiliser docker Le conteneur fournit un environnement de contexte d'exécution de logiciel autonome ,Utiliser do ...

  7. Docker 3. Swordsman Docker Compose

    Docker Compose Le projet est Docker Projet Open Source officiel,Responsable de la mise en œuvre Docker Orchestration rapide des grappes de conteneurs,Open Source Address:https://github.com/docker/compose Dock ...

  8. Docker Rédaction de notes d'étude Docker Compose Projets

    0x00 Généralités En lisant les sections précédentes ,Je crois que tout le monde a raison Docker Les applications dans le développement sont déjà bien comprises . En tant que logiciel Pratique , Nous devons revenir à la pratique , Pour mieux comprendre Docker La logique pratique et les principes qui sous - tendent .In ...

  9. Maîtrise du texteDocker Compose

    Table des matières Docker ComposeIntroduction Docker ComposeInstallation Docker ComposeExemple de base 1. Paramètres de base du fichier et du Répertoire 2.Créer unDockerfile 3.Adoptiondocker-comp ...

  10. 【08】Apprentissage progressif docker:docker compose

    Ce qui précède Lors des opérations précédentes , Même un seul conteneur nécessite de longues commandes à chaque fois , C'est encore plus gênant quand plusieurs conteneurs sont nécessaires pour travailler ensemble , Il est urgent de trouver une configuration , La méthode de fonctionnement aléatoire . C'est le but de cette section , Outil d'orchestration de conteneurs autonomes :docke ...

Recommandation aléatoire

  1. EL Expression de requestEtsessionValeur moyenne

    InAction Enregistrer les informations de base de connexion dans :request.getSession().setAttribute("adminid", str); InJSPDans la page:${sessionScop ...

  2. Unity3D Script série de tutoriels chinois (Six)

    http://dong2008hong.blog.163.com/blog/static/469688272014031943118/ Unity3D Script série de tutoriels chinois (Cinq) Variables ◆var colli ...

  3. java Changement d'adresse de la barre d'adresse de saut

    Instrtus1 Moyenne, Beaucoup sont directs action Configuré pour sauter Pour que la barre d'adresse ne change pas Si un saut de navigateur est nécessaire ActionForward actionForward = new ActionFo ...

  4. C Fonction de chaîne de langue complète

    C Fonction de chaîne de langue complète Nom de la fonction: stpcpy Gong Oui.: Copier une chaîne à une autre Avec Droit: char *stpcpy(char *destin, char *source); Exemple de programme : #include ...

  5. Autodidactespring AOP

    Je suis un nouveau programmeur et j'a i écrit un blog pour la première fois Cet article est une combinaison de matériel en ligne et quelques livres que j'ai appris S'il y a un problème, laissez un message et prévenez Cet article présenteAOP Deux points de connaissance 1: Agents Il y a deux types d'agents Je vais d'abord écrire :JavaAgent statique 1: Créer une interface ...

  6. Codeforces 240 F. TorCoder

    F. TorCoder time limit per test 3 seconds memory limit per test 256 megabytes input input.txt output ...

  7. linuxUniquesendfileAppel système--“Zéro copie,Efficace”

    RÉFÉRENCES:http://blog.csdn.net/caianye/article/details/7576198 Presque tout le monde a entendu parler de LinuxCe qu'on appelle"Zéro copie"Caractéristiques, Mais je touche souvent ...

  8. C# Liste des pages

    Page d'accueil: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx ...

  9. vue+koa Réaliser des applets de livres simples (2)

    Notez la réalisation de la fonction de numérisation de nos livres : https://developers.weixin.qq.com/miniprogram/dev/api/scancode.html Pour lire plus de documents scanBook () ...

  10. Développer plus robuste python Quelques outils pour le programme

    Dans de nombreuses langues , Java Les écosystèmes sont les mieux développés , Comme une anomalie loggingAppelez la police., Comme les outils de surveillance du rendement . Python En fait, l'écologie est bonne , Voici quelques bons outils . LogBook, Et combiner raven-pyth ...