1. Docker-Installation auf dem MacBesuchen Sie die offizielle Docker-Website: https://www.docker.com/get-started, um die Mac-Version herunterzuladen. Beim Herunterladen müssen wir uns beim Docker-Konto anmelden, daher müssen wir zuerst ein Docker-Konto registrieren. Dieses Konto kann auch zum Anmelden verwendet werden, wenn die Anwendung später gestartet wird. Melden Sie sich zum Herunterladen bei Ihrem Docker-Konto an. Nach dem Herunterladen erhalten Sie eine Docker.dmg-Datei (523,1 MB). Doppelklicken Sie darauf, um sie zu installieren. Klicken Sie nach der Installation auf das Symbol, um Docker zu starten, wie unten gezeigt (whaly sollte ein frecher Wal sein). Nachdem der nächste Schritt abgeschlossen ist, können Sie dieses Symbol oben sehen Um Bilder schneller abzurufen, können Sie es als inländische Bildquelle konfigurieren. Klicken Sie auf das Symbol, wählen Sie Einstellungen --> Daemon und geben Sie die inländische Docker-Container-Proxy-Adresse in die Registry-Mirrors ein. Alibaba Cloud wird hier empfohlen, Sie können aber auch NetEase Cloud verwenden. Hier finden Sie eine Demonstration, wie Sie Ihren eigenen Alibaba Cloud-Container-Image-Dienst erhalten. Besuchen Sie die offizielle Website von Alibaba Cloud https://www.aliyun.com/ und melden Sie sich bei Ihrem Konto an. Gehen Sie zur Verwaltungskonsole --> Produkte und Dienste --> Elastic Compute --> Container Mirroring Service --> Mirror Accelerator, kopieren Sie Ihre eigene Accelerator-Adresse in die Registry-Mirrors und starten Sie Docker neu. 2. Docker-Installation unter Win 10-System Besuchen Sie die offizielle Docker-Website: https://www.docker.com. Wenn Sie ein Docker-Konto haben, melden Sie sich am besten zuerst an und klicken Sie auf Denken Sie an die mittlere Option Hier kann das Win 10-System Hyper-V einschalten und dann den Neustart bestätigen Wenn Hyper-V jedoch aktiviert ist, zeigt VMware Workstation beim Neustart des Images den folgenden Fehler an und kann nicht gestartet werden. Wenn Sie es normal verwenden möchten, können Sie diese Option abbrechen und dann zur Sicherheit bcdedit /set hypervisorlaunchtype off in PowerShell ausführen (Start -> Rechtsklick -> Windows PowerShell-Administrator). Starten Sie das System neu, um VMware Workstation normal zu verwenden. bcdedit /set hypervisorlaunchtype off Doppelklicken Sie abschließend auf die heruntergeladene Datei Docker for Windows Installer.exe, um sie zu installieren. Nach Abschluss der Installation werden Sie aufgefordert, das System neu zu starten. In der Taskleiste des Systems wird ein kleines Docker-Symbol angezeigt. Sie können den Eingabeaufforderungen folgen, um Folgendes in PowerShell einzugeben (Umschalt + Rechtsklick zum Auswählen): Docker-Informationen Docker-Version Docker PS Docker-Bilder Docker Run Hallo Welt 3. MySQL installierenSie können auch in der Alibaba Cloud-Konsolenbildsuche nach dem offiziellen MySQL suchen Wählen Sie die erste aus, die sehr detaillierte Installationsanweisungen enthält. Sie können auch sehen, dass die unterstützte Version (Bezeichnung) 8.0.12 ist. Wir werden dieses Mal diese Version installieren. Es wird empfohlen, vor der Installation die Beschreibung des Abschnitts „Wo werden die Daten gespeichert?“ im Dokument zu lesen, um zu verstehen, warum die Datenbankdaten bei der Installation von MySQL in Docker standardmäßig den lokalen Dateien Ihres Systems zugeordnet werden. Es gibt viele Möglichkeiten, es zu installieren. Hier verwenden wir einfach den folgenden Befehl, um es automatisch zu installieren. docker run --restart=always --name mysql8.0 -p 3306:3306 -v ~/soft/mysql/datadir:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=**** -d mysql:8.0.12 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci Parametererklärung: Eine detailliertere Parameterbeschreibung finden Sie in der Beschreibung von Docker Run auf der offiziellen Website (Docker Run-Beschreibung).
MySQL-Containerinformationen anzeigen $ Docker ps Verwenden Sie das Tool (Navicat) zum Verbinden Die Verbindung ist erfolgreich. Überprüfen Sie die Version, die ebenfalls die gerade installierte Version 8.0.12 ist. [Hinweis] Hier ist zu beachten, dass das offizielle MySQL-Dockerfile das Debian-System verwendet, das die Sprache und den UTF-8-Zeichensatz standardmäßig nicht unterstützt, wie unten gezeigt: Wenn Sie den MySQL-CLI-Befehl in Docker nicht verwenden, können Sie direkt das offizielle Image verwenden, was völlig in Ordnung ist. Wenn Sie jedoch den MySQL-CLI-Befehl in Docker verwenden müssen, kann der offizielle Befehl keine chinesischen Zeichen eingeben und das angezeigte Chinesisch ist verstümmelt. Zu diesem Zeitpunkt besuchen wir das offiziell von MySQL bereitgestellte Dockerfile.debian (https://github.com/docker-library/mysql), laden Version 8.0 auf den lokalen Computer herunter (Dockerfile.debian, docker-entrypoint.sh und Konfiguration unter Version 8.0 müssen heruntergeladen werden) und ändern das Dockerfile wie folgt. Der entscheidende Punkt besteht darin, Unterstützung für die UTF-8-Kodierung hinzuzufügen und die lokale Sprachumgebung auf en_US.utf8 einzustellen (das reicht am Anfang aus). # # HINWEIS: DIESE DOCKERFILE WIRD ÜBER „apply-templates.sh“ GENERIERT # # BITTE BEARBEITEN SIE ES NICHT DIREKT. # # Das System verwendet das Buster-Slim-Image von Debian VON Debian: Buster-Slim # Richten Sie die uft8-Umgebung ein. Führen Sie apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \ aus. && localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 ENV LANG en_US.utf8 # Fügen Sie den MySQL-Benutzer und die Gruppe hinzu. RUN groupadd -r mysql && useradd -r -g mysql mysql Führen Sie apt-get update und apt-get install -y --no-install-recommends aus. gnupg dirmngr und rm -rf /var/lib/apt/lists/* # Fügen Sie gosu hinzu, um das Downgrade von Root aus zu vereinfachen. Weitere Informationen finden Sie unter https://github.com/tianon/gosu/releases. ENV GOSU_VERSION 1.12 RUN set -eux; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends ca-certificates wget; \ rm -rf /var/lib/apt/lists/*; \ dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \ wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \ wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \ gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ gpgconf --kill alle; \ rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \ apt-mark auto '.*' > /dev/null; \ [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ chmod +x /usr/local/bin/gosu; \ gosu --version; \ gosu, niemand, wahr FÜHREN SIE Mkdir /docker-entrypoint-initdb.d AUS Führen Sie apt-get update && apt-get install -y --no-install-recommends \ aus. # für MYSQL_RANDOM_ROOT_PASSWORD pwgen \ # für mysql_ssl_rsa_setup openssl \ # SCHWERWIEGENDE FEHLER: Bitte installieren Sie die folgenden Perl-Module, bevor Sie /usr/local/mysql/scripts/mysql_install_db ausführen: # Datei::Basisname # Datei::Kopieren # Sys::Hostname # Daten::Dumper perl \ # installieren Sie „xz-utils“ für .sql.xz docker-entrypoint-initdb.d-Dateien xz-Dienstprogramme \ && rm -rf /var/lib/apt/lists/* RUN set -ex; \ # gpg: Schlüssel 5072E1F5: öffentlicher Schlüssel „MySQL Release Engineering <[email protected]>“ importiert Schlüssel = 'A4A9406876FCBD3C456770C88C718D3B5072E1F5'; \ export GNUPGHOME="$(mktemp -d)"; \ gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ gpg --batch --export "$key" > /etc/apt/trusted.gpg.d/mysql.gpg; \ gpgconf --kill alle; \ rm -rf "$GNUPGHOME"; \ apt-key-Liste > /dev/null # MySQL-Umgebungsvariable ENV MYSQL_MAJOR 8.0 hinzufügen ENV MYSQL_VERSION 8.0.22-1debian10 RUN echo 'deb http://repo.mysql.com/apt/debian/ buster mysql-8.0' > /etc/apt/sources.list.d/mysql.list # das "/var/lib/mysql"-Zeug hier liegt daran, dass der MySQL-Server-Postinst keine explizite Möglichkeit hat, den mysql_install_db-Codepfad zu deaktivieren, außer eine bereits "konfigurierte" Datenbank zu haben (d. h. Zeug in /var/lib/mysql/mysql) # außerdem setzen wir Debconf-Schlüssel, um APT etwas leiser zu machen LAUFEN { \ echo mysql-community-server mysql-community-server/datenverzeichnis auswählen ''; \ echo mysql-community-server mysql-community-server/root-pass Passwort ''; \ echo mysql-community-server mysql-community-server/re-root-pass Passwort ''; \ echo mysql-community-server mysql-community-server/remove-test-db wähle false; \ } | debconf-set-auswahl \ && apt-get update \ && apt-get install -y \ mysql-community-client="${MYSQL_VERSION}" \ mysql-community-server-core="${MYSQL_VERSION}" \ && rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/mysql && mkdir -p /var/lib/mysql /var/run/mysqld \ && chown -R mysql:mysql /var/lib/mysql /var/run/mysqld \ # Stellen Sie sicher, dass /var/run/mysqld (für Socket- und Sperrdateien verwendet) beschreibbar ist, unabhängig von der UID, die unsere mysqld-Instanz zur Laufzeit hat. && chmod 1777 /var/run/mysqld /var/lib/mysql #Geben Sie den Einhängepunkt als /var/lib/mysql an oder führen Sie „docker run -v host directory: mount point in container VOLUME /var/lib/mysql“ aus. # Konfigurationsdateien KOPIEREN Sie config/ /etc/mysql/ KOPIEREN Sie docker-entrypoint.sh /usr/local/bin/ # abwärtskompatibel RUN ln -s usr/local/bin/docker-entrypoint.sh /entrypoint.sh # Die Funktion ist ähnlich wie CMD, aber flexibler und komplexer. Nach der Verwendung wird der Inhalt von CDM als Parameter an die ENTRYPOINT-Anweisung ENTRYPOINT ["docker-entrypoint.sh"] übergeben. # Deklarieren Sie die zur Laufzeit verfügbar gemachten Ports (Port1, Port2 …). Dieser konfigurierte Port wird jedoch zur Laufzeit nicht standardmäßig angezeigt und muss beim Ausführen weiterhin angegeben werden. EXPOSE 3306 33060 CMD ["mysqld"] Führen Sie den folgenden Befehl aus, um mit dem Erstellen des Images zu beginnen. Hier wird der Parameter -f verwendet, um die Dockerfile-Datei als Dockerfile.debian anzugeben. Wenn Sie den Standarddateinamen verwenden, müssen Sie ihn nicht angeben. docker build -t mysql-utf8:8.0.22 -f ./Dockerfile.debian . Nachdem der Build erfolgreich ist, können Sie das soeben erstellte MySQL-Image über Docker-Images anzeigen. Abschließend nutzen wir dieses Image um einen Container mit folgendem Befehl zu starten docker run --name mysql8.0 -p 33307:3306 -v /u01/docker-mysql/datadir:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=Root-Benutzerkennwort -d mysql-utf8:8.0.22 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci Nach dem Betreten des Containers stellte ich fest, dass UTF-8 bereits unterstützt wird Wenn Sie die Version mysql5.X oder 8.X direkt unter einem Linux-System installieren, lesen Sie bitte meinen anderen Blogbeitrag Offline-Installation von mysql 5.7 / mysql 8.0 unter einer Centos7-Umgebung Referenz: https://hub.docker.com/r/_/mysql/ Dies ist das Ende dieses Artikels über die Installation von MySQL (einschließlich utf8) mit Docker unter Windows/Mac. Weitere Informationen zur Installation von MySQL mit Docker 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:
|
<<: Detaillierte Erklärung der Group-By-Anweisung in der MySQL-Datenbankgruppenabfrage
>>: Lösung für das HTML-Kodierungsproblem in IE6, das zu JS-Fehlern und nicht angewendetem CSS führt
Im vorherigen Artikel haben wir über MySQL-Transa...
Verwenden von Javascript zum Implementieren eines...
Inhaltsverzeichnis 1. Fügen Sie einen überwachend...
Heutzutage beginnen viele Leute damit, Websites z...
Inhaltsverzeichnis Warum die Auto-Inkrement-ID ak...
1. SVN-Server installieren yum installiere Subver...
Bei der Flugbahnwiedergabe des WeChat-Applets wer...
Inhaltsverzeichnis Überblick Statische Typprüfung...
Dieser Artikel vergleicht und fasst vier Möglichk...
Dieser Artikel beschreibt Beispiele zum Erstellen...
Liste der HTML-Tags markieren Typ Name oder Bedeu...
Einleitung Bisher wurden unsere Docker-Images in ...
1. Download-Adresse: http://dev.mysql.com/downloa...
Warum hat CSS einen Kaskadierungsmechanismus? Da ...
Inhaltsverzeichnis 1. Konzept 1.1 Was sind Fehler...