So verwenden Sie Docker Swarm zum Erstellen von WordPress

So verwenden Sie Docker Swarm zum Erstellen von WordPress

Ursache

Ich habe WordPress einst auf Vultr eingerichtet, aber aus bekannten Gründen wurde der Zugriff auf diese Seite immer langsamer. Später habe ich mich für Sina Cloud entschieden. Sina Cloud ist zwar günstig und gut, erfordert aber eine Registrierung und die Kommentarfunktion wird wahrscheinlich entfernt. Nachdem ich darüber nachgedacht hatte, beschloss ich, aufzugeben und einfach einen Host in Hongkong zu finden, um WordPress zu erstellen.

Hosting kaufen

Ich habe mich für den leichten Anwendungsserver von Alibaba Cloud entschieden. Der Vorteil dieses Hosts besteht darin, dass er günstig und ausreichend ist.
Beispielsweise kostet der von mir gewählte Host in Hongkong nur 24 Dollar im Monat und bietet einen Kern und ein GB Arbeitsspeicher, eine Netzwerkgeschwindigkeit von 30 Mbit/s, 25 GB Festplattenspeicher und 1 TB monatlichen Datenverkehr.

Die Konfiguration ist wie folgt

Initialisieren Sie die Docker-Umgebung

Obwohl es oben eine Funktion zum Installieren von WordPress gibt, empfehle ich diese nicht, da die Konfiguration zu alt ist. Am Ende habe ich mich für das Ubuntu 18.04-System entschieden. Ich kann Docker installieren und Docker Swarm direkt mit dem folgenden Befehl initialisieren:

curl -o- -L https://gist.githubusercontent.com/hangox/e679464f35dc2a78920e6249a21d7958/raw/c5541e38979dca1e3e1e9704ad171ed2f0556fa1/ubunut-install-docker.sh | bash

Docker-Compose schreiben

Konfigurationsübersicht

Version: '3.7'

Leistungen:
 Caddie:
  Bild: abiosoft/caddy
  Häfen:
   - 80:80
   -443:443
  Umfeld:
   – ACME_AGREE=true
   - TZ=Asien/Shanghai
  Bände:
   – caddy:/root/.caddy
   - wp-src:/usr/src/wordpress
  Konfigurationen:
   - Quelle: wp_caddy
    Ziel: /etc/Caddyfile
 App:
  Bild: wordpress:5.4.1-php7.2-fpm
  Umfeld:
   TZ: Asien/Shanghai
   WORDPRESS_DB_HOST: wp_db:3306
   WORDPRESS_DB_USER: root
   WORDPRESS_DB_PASSWORD: Ihr Passwort
   WORDPRESS_DB_NAME: WordPress
  hängt ab von:
   -db
  Bände:
   - wordpress:/var/www/html
   - wp-src:/usr/src/wordpress
 db:
  Bild:mysql:8
  Umfeld:
   TZ: Asien/Shanghai
   MYSQL_ROOT_PASSWORD: IhrPasswort
   MYSQL_DATABASE: WordPress
  Befehl: --default-authentication-plugin=mysql_native_password
  Bände:
   -db:/var/lib/mysql

Bände:
 Wordpress:
 db:
 Caddie:
 wp-Quelle:
Konfigurationen:
 wp_caddy:
  extern: wahr

Konfigurationsanalyse

Caddie

Bei Verwendung als Reverse-Proxy unter Berücksichtigung der https-Zertifikatanwendung sieht die Konfiguration wie folgt aus

https://47log.com https://www.47log.com
  root /usr/src/wordpress
  gzip
  fastcgi/wp_app:9000php
  umschreiben {
    wenn {Pfad} nicht übereinstimmt ^\/wp-admin
    zu {Pfad} {Pfad}/ /index.php?_url={uri}
  }
  Protokoll stdout
  Fehler stderr
}

Hier habe ich die Konfigurationsfunktion von Docker Swarm verwendet und die Konfiguration direkt in die wp_caddy-Konfiguration geschrieben.

db

Hier kommt MySQL8 zum Einsatz, welches von WordPress unterstützt wird und eine bessere Performance hat. Dabei ist zu beachten, dass der Befehl mit command: --default-authentication-plugin=mysql_native_password ergänzt werden muss, da sonst keine Passwortauthentifizierung möglich ist. Ich habe einfach vergessen, dies hinzuzufügen und es war eine Zeit lang mühsam.

App

Achten Sie auf die Verbindungsmethode. Wenn Sie mit Docker Stack bereitstellen, müssen Sie dem Namen der Bereitstellung ein Präfix hinzufügen. Beispielsweise verwende ich hier „docker stack deploy -c docker-compose.yml wp“, und der Host meiner Datenbank im Docker-Netzwerk ist wp_db. Wenn Ihr Stapelname „Wordpress“ lautet, sollten Sie ihn entsprechend in „wordpress_db“ ändern.

Hinweis: Lautstärke konfigurieren
- wordpress:/var/www/html Dieses Ding muss konfiguriert werden. Letztes Mal habe ich das nicht konfiguriert. Ich habe den Container gelöscht und das Design ist verschwunden.

Bereitstellen mit Docker-Stack

Eine Befehlszeile docker stack deploy -c docker-compose.yml wp Warten Sie einen Moment und Sie können WordPress aufrufen

Warum Docker Swarm verwenden? Dank Portainer verfügt Docker-Swarm nach der Verbindung mit Portainer über alle Konfigurationsmöglichkeiten.

Dies ist das Ende dieses Artikels über die Verwendung von Docker Swarm zum Erstellen von WordPress. Weitere Informationen zur Verwendung von Docker Swarm zum Erstellen von WordPress finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Analyse der Verwendung und des Prinzips der Docker Swarm-Clusterverwaltung
  • Beispiel für die Verwendung von Docker Swarm zum Erstellen eines verteilten Crawler-Clusters
  • So verwenden Sie Docker Swarm zum Erstellen eines Clusters
  • Detaillierte Erläuterung zur Verwendung von Docker 1.12 zum Erstellen eines Docker-Schwarmclusters mit mehreren Hosts
  • So installieren Sie Docker und verwenden es im Docker Swarm-Modus
  • Einfaches Docker Swarm-Tutorial

<<:  WiFi-Entwicklung | Einführung in die WiFi-Wireless-Technologie

>>:  Detaillierte Schritte zur Installation von MySQL 5.7 über YUM auf CentOS7

Artikel empfehlen

Eine Zusammenfassung detaillierter Einblicke in den Import von CSS

Auf die Entwicklungsgeschichte von CSS wird hier ...

Beispiel zum Ändern der inländischen Quelle in Ubuntu 18.04

Die eigene Quelle von Ubuntu stammt aus China, da...

JavaScript zum Erzielen eines Kalendereffekts

In diesem Artikel wird der spezifische Code für J...

Detaillierte Erklärung, wie Node.js mit ES6-Modulen umgeht

Inhaltsverzeichnis 1. Unterschiede zwischen den b...

Beispiel für das Erstellen eines virtuellen Hosts basierend auf dem Apache-Port

Apache: Virtuellen Host basierend auf Port erstel...

Tiefes Verständnis der Verwendung von ::before/:before und ::after/:after

Teil 1: Grundlagen 1. Im Gegensatz zu Pseudoklass...

Detaillierte Erklärung des FreeList-Mechanismus von MySQL

1. Einleitung Nach dem Start von MySQL wird Buffe...

Details zur MySQL-Sortierfunktion

Inhaltsverzeichnis 1. Problemszenario 2. Ursachen...

Lösung zur Installation von Vim im Docker-Container

Inhaltsverzeichnis Der Anfang der Geschichte Inst...

So wechseln Sie in Linux effizient zwischen Verzeichnissen

Wenn es um den Verzeichniswechsel unter Linux geh...

Klassischer Beispielcode für JavaScript-Funktionsaufrufe

Inhaltsverzeichnis Klassisches Beispiel für einen...