Inhaltsverzeichnis
1. YML-Datei
Die Dateistruktur in Compose bezieht sich normalerweise auf die Struktur der YML-Datei.
二、安装docker compose工具
1、下载
2、添加权限
3、运行docker-compose
三、编译镜像
Heim Betrieb und Instandhaltung Docker Docker-Grundlagen erstellen Dateistruktur und Installationstools (detaillierte Beispiele)

Docker-Grundlagen erstellen Dateistruktur und Installationstools (detaillierte Beispiele)

Feb 07, 2022 pm 05:39 PM
docker

Dieser Artikel vermittelt Ihnen das Wissen über Compose in Docker, einschließlich der Compose-Dateistruktur und des Wissens über die Installation des Docker-Compose-Tools.

Docker-Grundlagen erstellen Dateistruktur und Installationstools (detaillierte Beispiele)

Was ist Docker Compose?

Docker Compose ist eine Container-Orchestrierungsfunktion, die verschiedene Server, die in verschiedenen Containern laufen, orchestriert und vereint.

kann verwendet werden, um die meisten Container auf einheitliche Weise zu verwalten: einschließlich, aber nicht beschränkt auf: Netzwerk, Port, Mount usw. kann zum Implementieren des Clusterings von Containern verwendet werden. Compose kann eine Reihe von Vorgängen im Zusammenhang mit Containern und Bildern ausführen. Das heißt, eine Funktion zum Verwalten von Containern

1. YML-Datei

Die Dateistruktur in Compose bezieht sich normalerweise auf die Struktur der YML-Datei.

yml-Datei ist eine Datei im Schlüsselwertformat.

yml-Dateien reagieren sehr empfindlich auf das Format. Sie müssen auf folgende Dinge achten:

Erkennen Sie nur die Einrückung von Leerzeichen, nicht die Einrückungsform der Tabulatortaste.
  1. Normalerweise wird der Anfang mit zwei Leerzeichen eingerückt Nach den Zeichen ein Leerzeichen einrücken, einschließlich, aber nicht beschränkt auf: Doppelpunkt, Komma, horizontaler Strich und andere Zeichen. Die Zeichen müssen um ein Leerzeichen eingerückt werden.
  2. Unterstützt die Verwendung von # für Kommentare
  3. yml-Dateiformat wie oben, eine Ebene-für-Ebene-Korrespondenz ist erforderlich, und zwischen verschiedenen Ebenen befinden sich zwei Leerzeichen.
  4. Hinweis: Wenn ein Schlüssel mehrere Werte in einer Ebene hat, kann er in der nächsten Ebene verwendet werden. Er verfügt auch über zwei Leerzeichen, beginnend mit einem kurzen horizontalen Balken und mehreren endenden horizontalen Balken für mehrere Werte
  5. 2. Häufig verwendete Felder in der Compose-Konfiguration
  6. Bilder
  7. Geben Sie das Bild an.
Befehl. Führen Sie den Befehl aus. Überschreiben Sie dabei den Standardbefehl. Wenn Sie einen benutzerdefinierten Namen angeben, können Sie keine Skalierung erstellen.

Bereitstellen Netzwerk

PortsContainer-Port freigeben, genau wie -p, aber die Portnummer muss größer als 60 sein.Hostpfad oder Befehlsvolume bereitstellen Nein, immer, bei Fehler, sofern nicht gestoppt KontextBilder: Sie können den zu verwendenden Bildnamen angeben, zum Beispiel: Bilder: Bildname, Hinweis: Dahinter steht ein Leerzeichen BefehlContainernamedeployrestart: Eine Neustartstrategie , der Standardwert ist geschlossen. Wenn es danach nicht gestartet wird, wird der Container automatisch im geschlossenen Zustand gestartet, unabhängig davon, ob er manuell geschlossen wird oder nicht. Sofern nicht gestoppt, wird der Container nur im geschlossenen Zustand gezogen . PSupexec
Volumts
: Der Pfad der Dienst-Docerfile-Datei
: Führen Sie eine Anweisung aus
: Wird verwendet, um den Namen des Containers anzugeben, da der Containername eindeutig ist. Wenn Sie einen benutzerdefinierten Namen angeben, können Sie nicht skalieren (einen Replikatsatz festlegen) #Repliksatz: Erstellen Sie ein Bild in mehreren Containern. Die Ausführungsumgebung und andere Aspekte dieser mehreren Container sind genau gleich. Wenn ein Container in der Containerarchitektur hängt, können Sie direkt einen identischen Container starten, um die Anzahl der Replikatsätze beizubehalten. Dies ist das Konzept von Replikatsätzen und auch der Kern von K8s. Es kann die Geschwindigkeit von Microservices verbessern, die Notfallwiederherstellung verbessern und eine hohe Parallelitätsleistung erzielen
: Es ist ein Controller, in k8s ist es ein Plug-in zum Steuern und Verwalten von Replikatsätzen
Listen Sie den Container auf, der derzeit vom Container gesteuert wird. Container
Erstellen und starten Sie den Container.
Führen Sie Befehle im Container aus Server, was der Anzahl der Replikatsätze entspricht Container, Netzwerke, Datenvolumes und Spiegel löschen
Stoppen/Starten/Neustarten Containerdienst stoppen/starten/neu starten

docker compose基本使用格式:docker-compose [options] [COMMAND] [ARGS…]

docker-compose选项

  1. –verbose:输出更多调试信息
  2. –version:打印版本并退出
  3. -f /–file FILE:使用特定的compose模板文件,默认为docker-compose.yml
  4. -p /–project-name NAME:指定项目名称,默认使用目录名称

二、安装docker compose工具

1、下载

curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
Nach dem Login kopieren

首次连接下载的时候,可能会提示失误或者连接不上,可能是因为网络原因,可以多试几次

2、添加权限

文件在刚下载之后,默认是没有执行权限的,所以需要手动添加执行权限

chmod +x /usr/local/bin/docker-compos
Nach dem Login kopieren

3、运行docker-compose

docker-compose
Nach dem Login kopieren

可以看到,现在已经正常执行了

三、编译镜像

手动创建下面的文件(dockerfile文件之前有的话,直接拉取过来也是可以的)

tree
.
├── docker-compose.yml
├── nginx
│   ├── Dockerfile
│   ├── nginx-1.12.0.tar.gz
└── wwwroot
    └── index.html
Nach dem Login kopieren

其中yml文件内部

cat docker-compose.yml

version: '3'
services:
  nginx:
    hostname: nginx
    build:
      context: ./nginx
      dockerfile: Dockerfile
    ports:
      - 1321:80
      - 1707:443
    networks:
      - cluster
    volumes:
      - ./wwwroot: /usr/local/nginx/html
networks:
  cluster:
Nach dem Login kopieren

nginx的dockerfile文件

cat ./nginx/Dockerfile

FROM centos:7
ADD nginx-1.12.0.tar.gz /tmp
RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make &> /dev/null \
    && useradd -M -s /sbin/nologin nginx \
    && cd /tmp/nginx-1.12.0/ \
    && ./configure \
    --prefix=/usr/local/nginx \
    --user=nginx \
    --group=nginx \
    --with-http_stub_status_module &> /dev/null \
    && make &> /dev/null \
    && make install &> /dev/null
VOLUME ["/usr/local/nginx/html"]
EXPOSE 80
CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"]
Nach dem Login kopieren

index.html文件中就是自己配置的网页信息,就不多做介绍了

确定之后,编译

docker-compose -f docker-compose.yml up -d
Nach dem Login kopieren

查看运行结果

docker ps -a

CONTAINER ID   IMAGE                 COMMAND                  CREATED              STATUS                      PORTS                                                                        NAMES
da38007f09ab   dockercompose_nginx   "/usr/local/nginx/sb…"   About a minute ago   Up About a minute           0.0.0.0:666->80/tcp, :::666->80/tcp, 0.0.0.0:667->443/tcp, :::667->443/tcp   dockercompose_nginx_1
#可以看到,这个端口信息就是我们在yml文件中设置的端口信息,直接在这个生效了

docker images

REPOSITORY                TAG       IMAGE ID       CREATED         SIZE
dockercompose_nginx       latest    b1e4b9dfa72d   3 minutes ago   478MB
Nach dem Login kopieren

访问网址端口,查看该网站页面

curl 192.168.75.51:666
hello
#显示结果
cat ./wwwroot/index.html
hello
Nach dem Login kopieren

推荐学习:《docker视频教程

Das obige ist der detaillierte Inhalt vonDocker-Grundlagen erstellen Dateistruktur und Installationstools (detaillierte Beispiele). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verpacken Sie ein Projekt mit Pycharm So verpacken Sie ein Projekt mit Pycharm Apr 25, 2024 am 03:54 AM

Es gibt vier Möglichkeiten, ein Projekt in PyCharm zu verpacken: Als separate ausführbare Datei verpacken: In das EXE-Einzeldateiformat exportieren. Als Installationsprogramm verpackt: Setuptools-Makefile generieren und erstellen. Als Docker-Image verpacken: Geben Sie einen Image-Namen an, passen Sie die Build-Optionen an und erstellen Sie. Als Container verpacken: Geben Sie das zu erstellende Image an, passen Sie die Laufzeitoptionen an und starten Sie den Container.

Architektur und Praxis verteilter PHP-Systeme Architektur und Praxis verteilter PHP-Systeme May 04, 2024 am 10:33 AM

Die verteilte PHP-Systemarchitektur erreicht Skalierbarkeit, Leistung und Fehlertoleranz durch die Verteilung verschiedener Komponenten auf mit dem Netzwerk verbundene Maschinen. Die Architektur umfasst Anwendungsserver, Nachrichtenwarteschlangen, Datenbanken, Caches und Load Balancer. Zu den Schritten zur Migration von PHP-Anwendungen auf eine verteilte Architektur gehören: Identifizieren von Dienstgrenzen, Auswählen eines Nachrichtenwarteschlangensystems, Einführung eines Microservices-Frameworks, Bereitstellung für die Containerverwaltung, Diensterkennung

Docker schließt die lokale Bereitstellung des großen Open-Source-Modells LLama3 in drei Minuten ab Docker schließt die lokale Bereitstellung des großen Open-Source-Modells LLama3 in drei Minuten ab Apr 26, 2024 am 10:19 AM

Übersicht LLaMA-3 (LargeLanguageModelMetaAI3) ist ein groß angelegtes Open-Source-Modell für generative künstliche Intelligenz, das von Meta Company entwickelt wurde. Im Vergleich zur Vorgängergeneration LLaMA-2 gibt es keine wesentlichen Änderungen in der Modellstruktur. Das LLaMA-3-Modell ist in verschiedene Maßstabsversionen unterteilt, darunter kleine, mittlere und große, um unterschiedlichen Anwendungsanforderungen und Rechenressourcen gerecht zu werden. Die Parametergröße kleiner Modelle beträgt 8 B, die Parametergröße mittlerer Modelle beträgt 70 B und die Parametergröße großer Modelle erreicht 400 B. Beim Training besteht das Ziel jedoch darin, multimodale und mehrsprachige Funktionalität zu erreichen, und die Ergebnisse werden voraussichtlich mit GPT4/GPT4V vergleichbar sein. Ollama installierenOllama ist ein Open-Source-Großsprachenmodell (LL

Agile Entwicklung und Betrieb der PHP-Microservice-Containerisierung Agile Entwicklung und Betrieb der PHP-Microservice-Containerisierung May 08, 2024 pm 02:21 PM

Antwort: PHP-Microservices werden mit HelmCharts für eine agile Entwicklung bereitgestellt und mit DockerContainer für Isolation und Skalierbarkeit in Containern verpackt. Detaillierte Beschreibung: Verwenden Sie HelmCharts, um PHP-Microservices automatisch bereitzustellen, um eine agile Entwicklung zu erreichen. Docker-Images ermöglichen eine schnelle Iteration und Versionskontrolle von Microservices. Der DockerContainer-Standard isoliert Microservices und Kubernetes verwaltet die Verfügbarkeit und Skalierbarkeit der Container. Verwenden Sie Prometheus und Grafana, um die Leistung und den Zustand von Microservices zu überwachen und Alarme und automatische Reparaturmechanismen zu erstellen.

PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? Mar 05, 2025 pm 05:57 PM

Detaillierte Erläuterungs- und Installationshandbuch für Pinetwork -Knoten In diesem Artikel wird das Pinetwork -Ökosystem im Detail vorgestellt - PI -Knoten, eine Schlüsselrolle im Pinetwork -Ökosystem und vollständige Schritte für die Installation und Konfiguration. Nach dem Start des Pinetwork -Blockchain -Testnetzes sind PI -Knoten zu einem wichtigen Bestandteil vieler Pioniere geworden, die aktiv an den Tests teilnehmen und sich auf die bevorstehende Hauptnetzwerkveröffentlichung vorbereiten. Wenn Sie Pinetwork noch nicht kennen, wenden Sie sich bitte an was Picoin ist? Was ist der Preis für die Auflistung? PI -Nutzung, Bergbau und Sicherheitsanalyse. Was ist Pinetwork? Das Pinetwork -Projekt begann 2019 und besitzt seine exklusive Kryptowährung PI -Münze. Das Projekt zielt darauf ab, eine zu erstellen, an der jeder teilnehmen kann

So installieren Sie Deepseek So installieren Sie Deepseek Feb 19, 2025 pm 05:48 PM

Es gibt viele Möglichkeiten, Deepseek zu installieren, einschließlich: kompilieren Sie von Quelle (für erfahrene Entwickler) mit vorberechtigten Paketen (für Windows -Benutzer) mit Docker -Containern (für bequem am besten, um die Kompatibilität nicht zu sorgen), unabhängig von der Methode, die Sie auswählen, bitte lesen Die offiziellen Dokumente vorbereiten sie sorgfältig und bereiten sie voll und ganz vor, um unnötige Schwierigkeiten zu vermeiden.

Wie kann die Leistung von Java-Funktionen durch Containerisierung optimiert werden? Wie kann die Leistung von Java-Funktionen durch Containerisierung optimiert werden? Apr 29, 2024 pm 03:09 PM

Die Containerisierung verbessert die Leistung von Java-Funktionen auf folgende Weise: Ressourcenisolation – Gewährleistung einer isolierten Computerumgebung und Vermeidung von Ressourcenkonflikten. Leicht – beansprucht weniger Systemressourcen und verbessert die Laufzeitleistung. Schneller Start – reduziert Verzögerungen bei der Funktionsausführung. Konsistenz – Entkoppeln Sie Anwendungen und Infrastruktur, um ein konsistentes Verhalten in allen Umgebungen sicherzustellen.

Stellen Sie JavaEE-Anwendungen mithilfe von Docker-Containern bereit Stellen Sie JavaEE-Anwendungen mithilfe von Docker-Containern bereit Jun 05, 2024 pm 08:29 PM

Stellen Sie Java EE-Anwendungen mithilfe von Docker-Containern bereit: Erstellen Sie eine Docker-Datei, um das Image zu definieren, erstellen Sie das Image, führen Sie den Container aus, ordnen Sie den Port zu und greifen Sie dann im Browser auf die Anwendung zu. Beispiel für eine JavaEE-Anwendung: Die REST-API interagiert mit der Datenbank und ist nach der Bereitstellung über Docker auf localhost zugänglich.

See all articles