Vorwort
Obwohl die Docker-Bereitstellungsumgebung viel bequemer ist als das Herunterladen des Installationspakets selbst, ist es für Benutzer sehr unfreundlich, bei jedem Start eines Containers die Docker-Befehle und Mount-Verzeichnisse zu finden, und manchmal ist es notwendig, mehrere zu starten Es ist offensichtlich sehr mühsam, sie einzeln zu starten. Wenn also das „Startskript“ im Voraus geschrieben werden kann, wird das „Startskript“ auch beim Neustart der virtuellen Maschine ausgeführt, wenn der Container gestartet wird. Docker-Compose löst dieses Problem sehr gut.
1. Einführung in Docker-Compose
Persönliches Verständnis: Container-Orchestrierungstools können für die meisten Menschen als Skripte zum Starten von Containern am nützlichsten sein. Es kann mehrere Container gleichzeitig starten und seine automatische Container-Neustartstrategie ist ebenfalls sehr nützlich.
2. Bereitstellungsschritte
1. Erstellen Sie ein neues Verzeichnis „docker-compose“ im Verzeichnis „/root“ und eine neue MySQL-Datei im Verzeichnis „/root/docker-compose“.
cd /root
mkdir docker-compose && cd docker-compose
mkdir mysql && cd mysql
2 Bereiten Sie das Mounten von Dateien vor
(Wenn Sie die Konfigurationsdatei nicht ändern müssen, können Sie diesen Schritt überspringen und dann die Bereitstellung der Konfigurationsdatei löschen, wenn die Datei docker-compose.yml bereitgestellt wird.)
Erstellen Sie einen neuen Konfigurationsordner unter dem Ordner /root/docker-compose/mysql und eine neue my.cnf-Datei unter der Conf-Datei.
mkdir config && cd config
vim my.cnf
Kopieren Sie die folgende Konfigurationsdatei nach my.cnf
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
3. Schreiben Sie die Datei docker-compose.yml
Erstellen Sie eine neue docker-compose.yml-Datei im Ordner /root/docker-compose/mysql.
cd /root/docker-compose/mysql
vim docker-compose.yml
Fügen Sie den folgenden Inhalt hinzu und kopieren Sie ihn in docker-compose.yml
version: '3'
services:
mysql:
image: mysql
restart: always
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: password
TZ: Asia/Shanghai
ports:
- 3306:3306
volumes:
- /root/docker-compose/mysql/data:/var/lib/mysql
- /root/docker-compose/mysql/config/my.cnf:/etc/mysql/my.cnf
command:
--max_connections=1000
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--default-authentication-plugin=mysql_native_password
Beachten Sie, dass Zeile 8 von docker-compose.yml das Passwort für die Anmeldung beim MySQL-Root-Konto festlegt. Ändern Sie das Passwort hier einfach in das Passwort, das Sie benötigen.
4. Starten
docker-compose up -d
Zusammenfassen
Selbst wenn der Host-Computer später neu gestartet wird, müssen Sie nur zum Speicherort der Datei docker-compose.yml gehen und den Befehl docker-compose up -d ausführen, um den Container zu starten. Tatsächlich gilt die Neustartrichtlinie des Containers Wird in der Datei docker-compose.yml konfiguriert, ist dies immer der Fall. Bei jedem Neustart von Docker werden die zugehörigen Container neu gestartet, dh der MySQL-Container wird automatisch neu gestartet, ohne dass der Befehl docker-compose up -d ausgeführt werden muss.