Docker-Grundlagen erstellen Dateistruktur und Installationstools (detaillierte Beispiele)

WBOY
Freigeben: 2022-02-07 17:39:40
nach vorne
4590 Leute haben es durchsucht

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!

Verwandte Etiketten:
Quelle:csdn.net
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage