Detaillierte Erklärung gängiger Vorlagenbefehle in docker-compose.yml-Dateien

Detaillierte Erklärung gängiger Vorlagenbefehle in docker-compose.yml-Dateien

Hinweis: Beim Schreiben der Datei docker-compose.yml muss auf alle Doppelpunkte (:) und Bindestriche (-) ein Leerzeichen folgen.

1. Befehl

Überschreiben Sie den Standardbefehl, der nach dem Start des Containers ausgeführt wird

Befehl: echo "hallo"

2. Containername

Geben Sie einen Containernamen an. Standardmäßig wird das Format Projektname_Dienstname_Seriennummer verwendet.

Containername: Docker-Web-Container

3. Konfigurationen

Wird nur im Schwarmmodus verwendet

4. Bereitstellen

Wird nur im Schwarmmodus verwendet

5. Geräte

Gerätezuordnung festlegen

Geräte:
- "/dev/dir:/dev/dir"

6. hängt davon ab

Lösen Sie die Probleme von Containerabhängigkeiten, Startreihenfolge und Kommunikation zwischen Containern.

7. Links

Mit anderen Containern verbinden. Hinweis: Diese Direktive ist zugunsten von depends_on veraltet.

Sie sollten Docker Network verwenden, um ein Netzwerk zu erstellen, und Docker Run --Network, um eine Verbindung zu einem bestimmten Netzwerk herzustellen.

Oder verwenden Sie Version „2“ und höher von docker-compose.yml, um direkt ein benutzerdefiniertes Netzwerk zu definieren und zu verwenden.

8. DNS

Benutzerdefinierte DNS-Server. Kann ein einzelner Wert oder eine Liste sein.

DNS: 8.8.8.8
DNS:
- 8.8.8.8
- 114.114.114.114

9. Umwelt

Legen Sie Umgebungsvariablen fest. Sie können entweder das Array- oder das Wörterbuchformat verwenden. Variablen mit einem bestimmten Namen erhalten automatisch den Wert der entsprechenden Variable auf dem Host, auf dem Compose ausgeführt wird. Dadurch können unnötige Datenlecks vermieden werden.

Umfeld:
MYSQL_ROOT_PASSWORD: 666666

10. aussetzen

Der Port wird zwar angezeigt, ist aber nicht dem Hostcomputer zugeordnet und ist nur für den verbundenen Dienst zugänglich. Als Parameter können nur interne Ports angegeben werden.

11. extra_hosts

Geben Sie ähnlich wie beim Parameter --add-host in Docker zusätzliche Informationen zur Hostnamenzuordnung an. Im gestarteten Servicecontainer wird der Datei /etc/hosts ein Eintrag hinzugefügt. Beispiel: 8.8.8.8 googledns

12. Gesundheitscheck

Überprüfen Sie per Befehl, ob der Container ordnungsgemäß ausgeführt wird

Gesundheitscheck:
Test: ["CMD", "curl", "-f", "http://localhost"]
Intervall: 1m30s
Zeitüberschreitung: 10 s
Wiederholungsversuche: 3

13. Bild

Geben Sie den Bildnamen oder die Bild-ID an. Wenn das Bild lokal nicht vorhanden ist, versucht Compose, das Bild abzurufen.

14. Etiketten

Fügen Sie dem Container Docker-Metadateninformationen hinzu. Sie können dem Container beispielsweise Zusatzinformationen hinzufügen.

15. Netzwerkmodus

Stellen Sie den Netzwerkmodus ein. Verwenden Sie denselben Wert wie für den Parameter --network von Docker Run.

Netzwerkmodus: "Brücke"
Netzwerkmodus: "Host"
Netzwerkmodus: "keine"

16. Netzwerke

Konfigurieren Sie das Netzwerk, mit dem der Container verbunden ist

Netzwerke:
Netzwerk-Demo

17. Häfen

Geben Sie die Portinformationen im Format HOST:CONTAINER bekannt oder geben Sie einfach den Port des Containers an (der Host wählt einen zufälligen Port aus).

Häfen:
- "80:80"
- „443:443“
- „8081:8081“

18. Bände

Der Pfad, in dem das Datenvolumen bereitgestellt wird, kann auf den Hostpfad eingestellt werden. Relative Pfade werden ebenfalls unterstützt.

Bände:
- ../Site:/data/www:rw
- ./nginx/conf.d:/etc/nginx/conf.d:ro
- ./nginx/cert:/etc/nginx/cert:ro
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./nginx/phpcgi.conf:/etc/nginx/phpcgi.conf:ro
- ./nginx/fastcgi.conf:/etc/nginx/fastcgi.conf:ro
- ./nginx/pathinfo.conf:/etc/nginx/pathinfo.conf:ro
– ../logs/nginx:/var/log/nginx

19. ulimits

Geben Sie den ulimits-Grenzwert für den Container an.

Geben Sie beispielsweise die maximale Anzahl von Prozessen mit 65535 an, geben Sie die Anzahl der Dateihandles mit 20000 (weiches Limit, die Anwendung kann es jederzeit ändern und das harte Limit kann nicht überschritten werden) und 40000 (hartes Systemlimit, das nur vom Root-Benutzer erhöht werden kann) an.

uGrenzwerte:
nproc: 65535
keine Datei:
weich: 20000
schwer: 40000

20. Einstiegspunkt

Geben Sie die Einstiegsdatei an, die nach dem Start des Servicecontainers ausgeführt werden soll

Einstiegspunkt: /code/entrypoint.sh

21. Benutzer

Geben Sie den Benutzernamen zum Ausführen der Anwendung im Container an

22. Arbeitsverzeichnis

Geben Sie das Arbeitsverzeichnis im Container an

Arbeitsverzeichnis: /data/www

23.Domänenname

Suche nach Domänennamen im angegebenen Container

Domänenname: Ihre_Domäne.com

24. Hostname

Geben Sie den Hostnamen im Container an

25. MAC-Adresse

Geben Sie die Mac-Adresse im Container an

Mac-Adresse: 01-02-22-0A-0B

26. privilegiert

Ermöglicht die Ausführung einiger privilegierter Befehle im Container

privilegiert: wahr

27. Neustart

Gibt an, dass die Neustartrichtlinie nach dem Beenden des Containers immer neu gestartet wird. In einer Produktionsumgebung wird empfohlen, es so zu konfigurieren: immer oder sofern nicht gestoppt

Neustart: immer

28. schreibgeschützt

Mounten Sie das Root-Dateisystem des Containers im schreibgeschützten Modus, sodass der Containerinhalt nicht geändert werden kann.

schreibgeschützt: true

29. stdin_open

Öffnen Sie die Standardeingabe, um externe Eingaben zu akzeptieren

stdin_open: wahr

30.tty

Simulieren Sie ein Pseudoterminal

tty: wahr

Dies ist das Ende dieses Artikels über häufig verwendete Vorlagenbefehle für docker-compose.yml-Dateien. Weitere relevante Inhalte zu docker-compose.yml-Vorlagenbefehlen finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Docker-Compose-Installationsmethode für die YML-Dateikonfiguration

<<:  Diskussion zu Bildpfadproblemen in CSS (dasselbe Paket/anderes Paket)

>>:  Detaillierte Erklärung der Anwendung und des Unterschieds zwischen Filterattribut und Hintergrundfilter in CSS

Artikel empfehlen

jQuery implementiert Formularvalidierungsfunktion

Beispiel für die Validierung eines jQuery-Formula...

Tiefgreifendes Verständnis der verschiedenen Sperren von MySQL

Inhaltsverzeichnis Schlossübersicht Sperrklassifi...

Drei Möglichkeiten zum Kopieren von MySQL-Tabellen (Zusammenfassung)

Tabellenstruktur und deren Daten kopieren Die fol...

Einführung in MySQL-Rollenfunktionen

Inhaltsverzeichnis Vorwort: 1. Einführung in die ...

Erläuterung der Truncate Table-Verwendung

TRUNCATE-TABELLE Löscht alle Zeilen in einer Tabe...

Einige Frontend-Grundlagen (HTML, CSS) aus der Praxis

1. Die Div-CSS-Maushandform ist Cursor:Zeiger; 2. ...

CSS3 zum Erzielen eines dynamischen Hintergrundverlaufseffekts

Beim Erlernen von CSS3 geht es mehr darum, sich m...

Warum der CSS-Attributwert clear:right im Detail nicht funktioniert

Die Verwendung der Clear-Eigenschaft zum Löschen v...

js realisiert den Lupeneffekt von Produkten auf Einkaufswebsites

In diesem Artikel wird der spezifische Code von j...

js implementiert das Popup-Anmeldefeld durch Klicken auf das Popup-Fenster

In diesem Artikel wird der spezifische Code von j...