Was ist Docker-Compose (persönliches Memorandum)

Was ist Docker Compose?

Ein Tool zum Definieren und Ausführen von Docker-Anwendungen mit mehreren Containern. Es wird häufig zum Einrichten einer Entwicklungsumgebung oder einer automatisierten Testausführungsumgebung verwendet. Durch die Beschreibung der Definitionen von Webserver, DB-Server, Cache-Server usw. in einer XML-Datei können die für die Anwendungsausführung erforderlichen Container basierend auf der XML-Datei zusammen gestartet werden. yml ist ein Format zum Ausdrücken strukturierter Daten und kann intuitiv beschrieben werden, auch wenn Sie yml noch nie verwendet haben. Sie können die Struktur verstehen, indem Sie sich die Datei ansehen.

Schritte zum Ausführen von Conpose

1 Bereiten Sie ** Dockerfile ** oder ** Image für die Verwendung ** auf DockerHub usw. vor. 2 Definieren Sie ** docker-compose.yml ** Schreiben Sie die Starteinstellungen für jeden Container. Dies entspricht der Angabe eines Bildnamens und verschiedener Flags mit dem Docker-Befehl run. 3 Führen Sie ** docker-compose up ** aus Geben Sie Docker-Compose in dem Verzeichnis an, in dem sich Docker-Compose befindet. Wenn es jedoch unverändert bleibt, wird es im Vordergrund ausgeführt, sodass es häufig durch Trennen mit der Option -d ausgeführt wird. Bei der Ausführung wird jeder Container gemäß der Definition von docker-compose.yml ausgeführt.

docker-compose.yml


version: '3'                -#docker-Verfassen Sie die Dateiformatversion
services:
  web:                      -#Servicename, jeder Name kann angegeben werden
    build: .                -#docker-compose.Der Build-Kontext ist dasselbe Verzeichnis wie yml. Daher muss eine Docker-Datei für den Webdienst im selben Verzeichnis wie die yml-Datei erstellt werden.
    ports:                  -#Zeigt den Port an, der außerhalb des Containers freigelegt werden soll, und den Port, der zugeordnet werden soll.
    - "5000:5000"
    volumes:  
    - .:/code               -#Docker mit Bind Mount-compose.Das Verzeichnis, in dem yml vorhanden ist, ist der Container/Im Codeverzeichnis gemountet.
    - logvolume01:/var/log  -#Das Volume von logvolume01, das in Volumes des Webdienstcontainers definiert ist/var/Auf Protokoll montiert.
    links:
    - redis                 -#Festlegen eines Links vom Webdienst zum Redis-Dienst
    redis:
    image: redis            -#Der Redis-Dienst startet einfach einen Container mit dem Redis-Image.
volumes:
  logvolume01               -#Wenn Sie ein benanntes Volume bereitstellen möchten, müssen Sie es in Volumes definieren.
Ausdrücklich{}Es ist jedoch nicht erforderlich, es zu schreiben. Wenn Sie Einstellungen wie Treiber für die Lautstärke schreiben,
Sie können die Einstellungen weiterhin unter dem Datenträgernamen schreiben. Wenn Sie jedoch einfach das Standardvolume verwenden, sind keine Einstellungen erforderlich.

Überprüfen Sie Docker-Compose

% docker-compose -v
docker-compose version 1.26.2, build eefe0d31

Beim Herunterladen wird die Version von Docker-Compose angezeigt.

Recommended Posts

Was ist Docker-Compose (persönliches Memorandum)
Was ist Docker-Compose?
[Memorandum] Was ist ein Fehler?
Was ist Cubby?
Was ist null? ]]
Was ist java
Was ist Schlüsselumhang?
Was ist Maven?
Was ist Jackson?
Was ist Selbst
Was ist ArgumentMatcher?
Was ist IM-Jonglieren?
Was ist params
Was ist SLF4J?
Was ist Fassade? ??
Was ist Gradle?
Was ist POJO?
Was ist java
Was ist centOS?
Was ist before_action?
Was ist Docker?
Was ist Tomcat?
Aufbau einer Django-Entwicklungsumgebung mit Docker-Compose (persönliches Memorandum)
Was ist Maven Assembly?
Was ist ein Konstruktor?
Was ist vue cli
Was ist eine Schnittstelle?
Was ist Rubys Selbst?
Was ist harte Codierung?
Was ist ein Stream?
Was ist Rubys attr_accessor?
Was ist Java-Kapselung?
Was ist Instanzsteuerung?
Was ist ein Initialisierer?
Was ist Spring Tools 4?
Was ist ein Operator?
Was ist Objektorientierung?
Was ist Guavas @VisibleForTesting?
Was ist ein MVC-Modell?
Was ist eine Anmerkung?
Was ist Java-Technologie?
Was ist Java API-Java?
Was ist @ (Instanzvariable)?
Was ist JPA-Prüfung?
[Java] Was ist flatMap?
Was ist ein Servlet?
Was ist Webentwicklung?
[Java] Was ist ArrayList?
Docker-Netzwerk (persönliches Memorandum)
Was ist eigentlich objektorientiert?
Was ist HttpSession session = request.getSession ();
Was ist Java Assertion? Zusammenfassung.