Zusammenfassung mehrerer häufig verwendeter CentOS7-Images basierend auf Docker

Zusammenfassung mehrerer häufig verwendeter CentOS7-Images basierend auf Docker

In diesem Artikel wird hauptsächlich beschrieben, wie Sie mit Docker ein CentOS-Umgebungsimage erstellen und es in das Docker-Image-Repository von Alibaba Cloud hochladen. Andere, die es benötigen, können es über die Verbindung herunterladen. Wenn wir entwickeln, benötigen wir oft einige Umgebungen zum Testen oder Bereitstellen. Wenn wir ein Open-Source-Projekt verstehen, benötigen wir auch eine Umgebung, die die Anforderungen zum Bereitstellen und Verwenden erfüllt. Manchmal ist die Testumgebung jedoch chaotisch. Wenn Sie beispielsweise Apache Druid installieren und bereitstellen, kann der Start mit dem Standardport fehlschlagen, da einige Ports belegt sind. Sie können den Standardport ändern, aber für Benutzer, die gerade erst anfangen, kann das manuelle Ändern einiger Ports für Personen, die mit dem Projekt nicht vertraut sind, verwirrend sein. Obwohl Sie auch über eine virtuelle Maschine eine neue Umgebung erstellen können, ist dies mühsamer. Docker ist eine bessere Wahl. Zum Starten und Ausführen eines Containers sind nur wenige Befehle erforderlich. Mit der inländischen Spiegelquelle ist die Downloadgeschwindigkeit relativ hoch. Wenn Sie es nicht verwenden, können Sie es direkt mit dem Docker-Befehl löschen. Für bestimmte eigene Anforderungen können Sie auch ein Image erstellen, das Ihren eigenen Anforderungen entspricht, wodurch schnelles Ziehen, schnelles Starten, schnelles Entfernen und schnelles Freigeben erreicht wird.

Centos7-Image der Basisversion für die chinesische Umgebung. Basierend auf dem CentOS 7-Image wurden vim, lsof, wget, tree, python-devel, c-Kompilierungsumgebung und SSH-Dienst hinzugefügt. Das System-Root-Passwort lautet 2020 :

sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003_v1
sudo docker pull registry-internal.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003_v1

Image der Entwicklungsumgebungsversion Centos7. Basierend auf dem Basisversionsimage der chinesischen Umgebung wurden die Dienste JDK8, Git, Maven, Nginx und Node.js hinzugefügt. Das System-Root-Passwort lautet 2020

sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003-dev_v1
sudo docker pull registry-internal.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003-dev_v1

Bild der Basisversion in chinesischer Umgebung. Der MySQL 5.7-Dienst wurde basierend auf der Entwicklungsumgebungsversion des Centos7-Image hinzugefügt. Das System-Root-Passwort lautet 2020 und das MySQL-Root-Benutzerpasswort lautet 123456

sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:dev-mysql_v1
sudo docker pull registry-internal.cn-shanghai.aliyuncs.com/yore/bigdata:dev-mysql_v1

Mein Spiegel

1 Docker installieren

# 1 Überprüfen Sie, ob Docker bereits auf Ihrem System installiert ist
Systemctl-Status-Docker
grep -E "Docker"
## 1.1 Wenn Sie neu installieren möchten, können Sie zuerst die alte Version von Docker deinstallieren
yum entferne docker-ce
rm -rf /var/lib/docker
## 1.2 Systempakete aktualisieren yum -y update

# 2 Besuchen Sie die folgende Website und laden Sie das Docker RPM-Paket herunter# https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
# Zum Beispiel wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.06.3.ce-3.el7.x86_64.rpm

# 3 Installieren Sie yum install docker-ce-18.06.3.ce-3.el7.x86_64.rpm

# 4 Starten Sie systemctl start docker
## Informationen Docker-Info anzeigen

2 Konfigurieren von inländischen Spiegelquellen

Die Konfiguration hier ist ein Spiegelbild von Alibaba. Besuchen Sie die offizielle Website von Alibaba Cloud unter https://www.aliyun.com/, melden Sie sich bei Ihrem Konto an, gehen Sie zur Verwaltungskonsole --> Produkte und Dienste --> Elastic Compute --> Container Image Service --> Image Accelerator und kopieren Sie Ihre eigene dedizierte Beschleunigeradresse.

vim /etc/docker/daemon.json

# Eigene Spiegeladresse hinzufügen, speichern und beenden {
  "Registrierungsspiegel": ["https://xxxxxxxx.mirror.aliyuncs.com"]
}

Laden Sie die Datei neu und starten Sie Docker neu

systemctl daemon-reload
systemctl Neustart Docker
# Überprüfen Sie den Startstatus systemctl status docker

3 Erstellen Sie ein Centos7-Image in der Basisversion für die chinesische Umgebung

3.1 Docker-Datei

Dockerfile-Format, legen Sie den folgenden Konfigurationsinhalt in einer Dockerfile-Datei in einem Verzeichnis in der Umgebung ab. Führen Sie abschließend den Build-Befehl docker build -t yore/centos7_v1 . Der . dahinter gibt den aktuellen Pfad an. Laden Sie hauptsächlich die neueste Version von CentOS 7 herunter und installieren und richten Sie die chinesische Sprachumgebung ein.

VON centos:7.8.2003

ENV LANG=zh_CN.UTF-8 \
    SPRACHE=zh_CN:zh \
    LC_ALL=zh_CN.UTF-8

# Tools installieren
Führen Sie den Befehl yum update -y && \ aus.
    yum neu installieren -y glibc-common && \
    yum install -y telnet net-tools && \
    yum, alles reinigen && \
    rm -rf /tmp/* rm -rf /var/cache/yum/* && \
    localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 && \
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# Standardbefehl definieren.
CMD ["Schlagen"]

Lokales Bild anzeigen

# Sehen Sie sich das Bild an. Sie werden zwei Bilder sehen, eines ist das Originalbild und das andere sind die benutzerdefiniert konfigurierten Docker-Bilder.

3.2 Starten Sie den Container

# 1 Laufen. Im Folgenden werden weitere Änderungen an diesem Container vorgenommen. # -d führt den Container im Hintergrund aus. # -p gibt die Portzuordnung an, das Format ist: Host-Port: Container-Port. # --name="yore_centos7" gibt einen Namen für den Container an. # -h "Hostname" gibt den Hostnamen des Containers an.
# -m legt die maximale Speichernutzung des Containers fest;
# --volume, -v bindet ein Volume # --privileged=false gibt an, ob der Container ein privilegierter Container ist. Privilegierte Container haben alle Fähigkeiten  
# --cap-add=[], Berechtigungen hinzufügen, eine Liste der Berechtigungen finden Sie unter: http://linux.die.net/man/7/capabilities
docker run --privileged=true --cap-add SYS_ADMIN -e container=docker -it \
-p 30022:22 -p 30080:80 -h "große Daten" \
--name="centos7_base" -d yore/centos7_v1:latest /usr/sbin/init

# 2 Container starten und stoppen## 2.1 Container schließendocker stop $CONTAINER_ID
## 2.2 Starten Sie einen Container docker start $CONTAINER_ID
## 2.3 Entfernen Sie den Container docker rm -f $CONTAINER_ID

# 3 Löschen Sie das Bild## Bild rm entspricht rmi
Docker-Image rm $IMAGE_ID
## Wenn mehrere identische IMAGE-IDs vorhanden sind, löschen Sie sie mit docker rmi $REPOSITORY:$TAG

# 4 Geben Sie den Container ein docker exec -it $CONTAINER_ID /bin/bash
## Zeigen Sie die Centos7-Version im aktuellen Container cat /etc/redhat-release an

3.3 Installieren und konfigurieren Sie einige grundlegende Dienste im Container

# 1 Für eine bessere Dateibearbeitung können Sie vim installieren
yum install -y vim

# 2 Um Portinformationen bequemer anzuzeigen, können Sie lsof installieren
yum install -y lsof

# 3 Installieren Sie wget
yum install -y wget

# 4 Baum installieren
yum install -y Baum

# 5 Python-Tool yum install -y python-devel

# 6 Installieren Sie die C-Kompilierungsumgebung yum install -y gcc gcc-c++
yum install -y zlib
yum install -y zlib-devel
yum install -y tcl build-essential tk gettext

Damit die von Centos im Benutzeranmeldecontainer konfigurierten Umgebungsvariablen wirksam werden, führen Sie die folgende Konfiguration durch

 vim ~/.bashrc
 
 # Fügen Sie am Ende die Quelle /etc/profile hinzu

3.4 SSH

# 1 yum installiere spenssl service yum -y installiere passwd openssl openssh-server openssh-clients
mkdir /var/run/sshd/

# 2 Ändern Sie die Konfiguration vim /etc/ssh/sshd_config +39
## Etwa zwischen den Zeilen 38 und 45 ändern oder fügen Sie die folgenden drei Konfigurationen hinzu: PermitRootLogin yes
RSA-Authentifizierung ja
PubkeyAuthentifizierung ja 

# 3 Starten und Stoppen des SSHD-Dienstes## 3.1 Starten Sie systemctl start sshd.service
## 3.2 Den SSHD-Dienststatus anzeigen systemctl status sshd
## 3.3 Stoppen Sie systemctl start sshd.service

# 4 Stellen Sie es so ein, dass es beim Booten automatisch startet systemctl enable sshd.service

# [Kann übersprungen werden] 5 SSH-Private-Key und Public-Key generieren# ssh-keygen -t rsa

# 6 SSH-Dienst anzeigen lsof -i:22

# 7 Root-Passwort festlegen (2020)
passwd

# 8 Zugriff auf den Container über ssh root@bigdata

3.5 [Optional] Containerkonfiguration ändern

Wenn wir während des Betriebs unseres Containers einige Konfigurationsinformationen ändern und im Container wirksam machen müssen, können wir dies auf die folgenden zwei Arten tun. Die erste Methode ist einfach durchzuführen, erfordert jedoch einen Neustart des gesamten Docker-Dienstes, und einige entsprechende Konfigurationen werden möglicherweise nicht wirksam. Die zweite Methode wird empfohlen, bei der direkt ein neues Image unter dem vorhandenen Container generiert und der Container mit dem neuen Image neu gestartet wird, ohne dass dies Auswirkungen auf den vorhandenen Container hat.

3.5.1 Über die Containerkonfigurationsdatei

# Der Hash des Containers kann durch Anzeigen der CONTAINER-ID abgerufen werden vim /var/lib/docker/containers/${hash_of_the_container}/hostconfig.json

Nach dem Öffnen ist dies eine komprimierte JSON-Datei. Nach dem Formatieren können Sie PortBindings sehen. HostPort entspricht dem Port, der dem Hostcomputer zugeordnet ist, 22/tcp entspricht Port 22 innerhalb des Containers. systemctl restart docker und starten Sie dann den Container docker start $CONTAINER_ID . Der Nachteil besteht darin, dass der Docker-Dienst bei jeder Änderung neu gestartet werden muss und der Container ebenfalls neu gestartet werden muss.

"Netzwerkmodus": "Standard",
  "PortBindings": {
    "22/tcp": [
      {
        "HostIp": "bigdata01",
        "HostPort": "30022"
      }
    ],
    "80/tcp": [
      {
        "HostIp": "bigdata01",
        "HostPort": "30080"
      }
    ],
    "3306/tcp": [
      {
        "HostIp": "bigdata01",
        "HostPort": "33306"
      }
    ]
  }

3.5.2 Durch die Docker-Commit-Methode

Empfohlene Methode . docker commit überträgt die Dateiänderungen und Konfigurationsinformationen eines Containers in ein neues Image . Dies ist beim Testen sehr nützlich. Sie können alle Dateiänderungen und Konfigurationsinformationen des Containers in ein neues Docker-Image importieren und dann einen Container mit diesem neuen Image neu starten. Dies hat keine Auswirkungen auf den vorherigen Container.

# 1 Stoppen Sie den aktuell laufenden Container docker stop $CONTAINER_ID

# 2 Commitee des Docker-Containers Docker-Commit $CONTAINER_ID new_image:tag

# 3 Aktuelle Docker-Images der Bildbibliothek anzeigen

# 4 Verwenden Sie das generierte neue Image, um einen neuen Container zu starten docker run --privileged=true --cap-add SYS_ADMIN -e container=docker -it \
-p 30022:22 -p 30080:80 -p 33306:3306 \
--name="yore_centos7_v2" -h "bigdata01" -d yore/centos7_v2:latest /usr/sbin/init

3.6 Lokales Image erstellen

# 1 Stoppen Sie den aktuell laufenden Container docker stop $CONTAINER_ID

# 2 Commits des Docker-Containers Docker-Commit $CONTAINER_ID centos7_base:v1

# 3 Aktuelle Docker-Images der Bildbibliothek anzeigen

3.7 Senden des Bildes an die Alibaba Cloud Image Library

  • Besuchen Sie die offizielle Website von Alibaba Cloud: https://www.aliyun.com/
  • Melden Sie sich bei Ihrem Case Cloud-Konto an.
  • Gehen Sie zur Verwaltungskonsole -> Produkte und Dienste -> Elastic Computing -> Container Mirroring Service
  • Namespace : kann nach der Festlegung nicht mehr geändert werden, wie z. B. yore
  • Spiegel-Repository : Wählen Sie den oben erstellten Yore-Namespace aus, erstellen Sie ein Spiegel-Repository und geben Sie die Informationen gemäß den Eingabeaufforderungen ein (Namespace erforderlich, Lagername erforderlich, Zusammenfassung erforderlich). Die Codequelle kann an Git gebunden und nach Änderungen automatisch erstellt werden. Wählen Sie hier das lokale Repository aus, erstellen Sie manuell einen Spiegel und übertragen Sie ihn in das Repository.
  • Zugriffsberechtigung : Aktuell ist eine Autorisierung auf die Fallcloud nur über RAM- Berechtigungen möglich.

Aliyun-Zugriffsberechtigung

Zugriffskennwort : Legen Sie das Kennwort für das Bild-Repository fest (fest, temporär).

Aliyun-Zugangskennwort

# Zeigen Sie die vorhandenen lokalen Docker-Images an

# 2 Zugangsdaten (festes Passwort der zuvor festgelegten Zugangsdaten)
sudo docker login --username=7910*****@qq.com registry.cn-shanghai.aliyuncs.com

# 3 Tag
Docker-Tag $IMAGE_ID registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003_v1

# 4 Push zum Alibaba Cloud-Image Docker Push Registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003_v1

# 5 Wenn das Image des vorherigen Tags gelöscht werden muss, führen Sie den folgenden Befehl aus: docker rmi $REPOSITORY:$TAG

3.8 Verwenden des an Alibaba Cloud übermittelten Bildes

Nachdem der vorherige Schritt erfolgreich übermittelt wurde, können Sie das von uns übermittelte Bild auf der Alibaba Cloud-Konsolenseite wie folgt sehen

anliyun mein Repository

Dieses Image basiert auf Centos 7.8.2003 und installiert hauptsächlich Dienste wie vim, lsof, wget, tree und sshd. Hinweis: Nach dem Start lautet das Standardkennwort des Root-Benutzers 2020. Um das System sicherer zu machen, ändern Sie es bitte zuerst in ein komplexeres Kennwort.

# Sehen Sie sich die Bilder an, die sich derzeit in Docker befinden sudo docker images 

# Hochgeladenes Bild abrufen## Die Bildverbindung kann über die Basisinformationen angezeigt werden. Es stehen öffentliche Netzwerkadressen, private Netzwerke und klassische Netzwerke zur Auswahl. sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003_v1

4 Entwicklungsumgebungsversion Centos7-Image

Installieren und konfigurieren Sie die in der Entwicklung häufig verwendete Umgebung

# 1 Laufen. Im Folgenden werden die Einstellungen dieses Containers weiter geändert# Basierend auf dem Basisimage starten Sie den Containerdocker run --privileged=true --cap-add SYS_ADMIN -e container=docker -it \
-p 30022:22 -p 30080:80 -h "bigdata01" \
--name="centos7_dev1" -d centos7_base:v1 /usr/sbin/init

# 2 Geben Sie den Container Docker PS ein
docker exec -it $CONTAINER_ID /bin/bash

# 3 Hosts geändert zu.
172.17.0.3 yore.node1 bigdata01

4.1 JDK

# 1 Herunterladen. Wenn der unten stehende Link ungültig ist, müssen Sie sich beim Oracle-Konto anmelden.
# Besuchen Sie https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html, um jdk8 herunterzuladen
wget https://download.oracle.com/otn/java/jdk/8u231-b11/5b13a193868b4bf28bcb45c792fce896/jdk-8u231-linux-x64.tar.gz?AuthParam=1573137213_adc79b33f2d9ed27cb8b09b6adf71820

# 2 Entpacken Sie tar -zxf jdk-8u231-linux-x64.tar.gz -C /usr/local/
chown root:root -R /usr/local/jdk1.8.0_231

# 3 Umgebungsvariablen konfigurieren vim /etc/profile
# Fügen Sie die folgende Konfiguration hinzu### Legen Sie die Java-Umgebung fest
JAVA_HOME=/usr/local/jdk1.8.0_231
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
exportiere JAVA_HOME JRE_HOME CLASS_PATH PFAD

# 4 Und laden Sie es, damit es wirksam wird:
Quelle /etc/Profil

# 5 Damit vim ~/.bashrc jedes Mal wirksam wird, wenn Sie den Container betreten
# Fügen Sie die letzte Zeile hinzu und speichern Sie die Quelle /etc/profile

# 6 Überprüfen Sie die Java-Version java -version

4.2 Git

# 1 Quellcode herunterladen,
wget -O git-2.27.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.27.0.tar.gz

# 2 Entpacken Sie tar -zxf git-2.27.0.tar.gz -C /tmp/
cd /tmp/git-2.27.0 

# 3 Überprüfen Sie die zugehörigen Abhängigkeiten und legen Sie den Installationspfad fest./configure --prefix=/usr/local/git

# 4 Installieren Sie make und make install

# 5 Erstellen Sie einen Softlink ln -s /usr/local/git/bin/git /usr/bin/git

# 6 Überprüfen Sie die Version git -v

4.3 Maven

# 1 Laden Sie wget herunter https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

# 2 Entpacken Sie tar -zxf apache-maven-3.6.3-bin.tar.gz
mv apache-maven-3.6.3 /usr/local/maven3

# 3 Ändern Sie die Konfiguration vim /usr/local/maven3/conf/settings.xml

Konfigurieren Sie Folgendes

<!--Fügen Sie etwa Zeile 55 hinzu, um den Pfad zum lokalen Lager anzugeben-->
 <localRepository>/opt/.m2/repo</localRepository>

 <!--Konfigurieren Sie ungefähr in Zeile 158 den inländischen Spiegel. Hier ist der Alibaba Maven-Spiegel-->
<!-- Konfigurieren Sie das Image von Alibaba Cloud -->
<Spiegel>
      <id>Nexus-Aliyun</id>
      <Spiegel von>*</Spiegel von>
      <name>Nexus Aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</Spiegel>

<Spiegel>
  <id>zentrale-repos1</id>
  <name>Zentrales Repository 2</name>
  <url>https://repo1.maven.org/maven2/</url>
      <!-- bedeutet, dass nur das zentrale Repository gespiegelt wird. Wenn Sie alle Repositorys spiegeln möchten, können Sie es in --> ändern.
  <Spiegel von>*</Spiegel von>
</Spiegel>

Fahren Sie mit der folgenden Konfiguration fort

# 4 Umgebungsvariablen konfigurieren,
vim /etc/profil
# Maven-Umgebung festlegen
export MAVEN_HOME=/usr/local/maven3
export PATH=$PATH:$MAVEN_HOME/bin

# 5 Wirksam werden Quelle /etc/profile

# 6 Überprüfen Sie die Version mvn -version

4.4 Nginx

# 1 Laden Sie das Nginx-Offlineinstallationspaket herunter. Nehmen Sie als Beispiele die x86- und Centos7-Versionen: wget http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/nginx-1.17.6-1.el7.ngx.x86_64.rpm

# 2 Installieren Sie rpm -ivh nginx-1.17.6-1.el7.ngx.x86_64.rpm

# 3 Konfigurationsdatei /etc/nginx
# Der Serverdienst kann auf den folgenden Pfad konfiguriert werden, der mit .conf endet, und neu gestartet werden oder die Konfiguration wirksam machen /etc/nginx/conf.d/

# 4 Allgemeine Befehle ## 4.1 Starten Sie, da der interne Port 80 dem Port 30080 des Hosts zugeordnet wurde. Greifen Sie im Browser über die IP des Hosts und den Port 30080 auf systemctl start nginx zu
## 4.2 Status systemctl status nginx
## 4.3 Stoppen Sie systemctl stop nginx
## 4.4 Neustart systemctl restart nginx
## 4.5 Konfiguration erneut wirksam /usr/sbin/nginx -s reload

# Das hier bereitgestellte Image hat den Nginx-Dienst gestoppt. Bitte starten Sie ihn bei Bedarf manuell.

4.5 Node.js

# 1 Laden Sie wget herunter https://nodejs.org/dist/v12.18.2/node-v12.18.2-linux-x64.tar.xz

# 2 Entpacken Sie tar -xf node-v12.18.2-linux-x64.tar.xz
mv node-v12.18.2-linux-x64 /usr/local/nodejs

# 3 Erstellen Sie eine Verbindung ln -s /usr/local/nodejs/bin/node /usr/bin/node
ln -s /usr/local/nodejs/bin/npm /usr/bin/npm

# 4 Überprüfen Sie die Version node -v
npm -v

4.6 Als lokales Bild speichern

# 1 Stoppen Sie den aktuell laufenden Container docker stop $CONTAINER_ID

# 2 Commits des Docker-Containers Docker-Commit $CONTAINER_ID centos7_dev:v1

# 3 Aktuelle Docker-Images der Bildbibliothek anzeigen

4.7 Senden des Bildes an die Alibaba Cloud Image Library

Senden Sie das Bild auf die gleiche Weise wie in 3.7 an die Alibaba Cloud Image Library. Senden Sie das Bild an die Alibaba Cloud Image Library.

Docker-Tag $IMAGE_ID registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003-dev_v1
Docker-Push-Registrierung.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003-dev_v1

Dieses Image basiert auf Centos 7. In der chinesischen Basisversion integriert es die Dienste JDK, Git, Maven, Nginx und Node.js. Hinweis: Nach dem Start lautet das Standardkennwort des Root-Benutzers 2020. Um das System sicherer zu machen, ändern Sie es bitte zuerst in ein komplexeres Kennwort.

# Sehen Sie sich die Bilder an, die sich derzeit in Docker befinden sudo docker images 

# Hochgeladenes Bild abrufen## Die Bildverbindung kann über die Basisinformationen angezeigt werden. Es stehen öffentliche Netzwerkadressen, private Netzwerke und klassische Netzwerke zur Auswahl. sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003-dev_v1

5 Centos7-Image mit MySQL

Hier installieren wir die MySQL-Datenbank basierend auf dem Versionsimage der Entwicklungsumgebung

5.1 Docker-Netzwerk einrichten

# 1 Vorhandene Netzwerke anzeigen (standardmäßig werden drei erstellt)
# Bridge-Bridge-Netzwerk. Bei jedem Neustart des Docker-Containers wird die entsprechende IP-Adresse nacheinander abgerufen. Dies kann dazu führen, dass sich die IP-Adresse nach dem Neustart ändert. # Host-Host-Netzwerk. Das Netzwerk des Docker-Containers wird an den Host angeschlossen und die beiden werden miteinander verbunden.
# keine Dem Container wird keine LAN-IP zugewiesen
[yore@VM_0_3_centos app]$ sudo docker network ls
NETZWERK-ID-NAME TREIBER-UMFANG
ba8077c371b9 Brücke Brücke lokal
1be5b2b64e10 Host Host lokal
77ef163ae7c4 keine null lokal

# 2 Erstellen Sie ein benutzerdefiniertes Netzwerk.
# sudo Docker-Netzwerk beschneiden
# Hinweis: Es darf kein Konflikt mit dem vorhandenen Netzwerksegment auftreten. sudo docker network create --subnet=172.19.0.0/16 mynetwork

5.2 Starten Sie den Container

# 1 Laufen. Im Folgenden werden weitere Änderungen an diesem Container vorgenommen. # Starten Sie den Container basierend auf dem centos7_dev-Image. # Der Netzwerkmodus wird als das zuvor angepasste mynetwork angegeben, sodass wir die IP direkt angeben können
docker run --privileged=true --cap-add SYS_ADMIN -e container=docker -it \
--network mynetwork --ip 172.19.0.2 -h "bigdata02" --name="dev_mysql_v1" \
-p 30022:22 -p 33306:3306 \
-d centos7_dev:v1 /usr/sbin/init

# 2 Geben Sie den Container Docker PS ein
docker exec -it $CONTAINER_ID /bin/bash

# 3 [Optional] Hosts ändern in. Sie können auch 172.19.0.2 yore.node2 bigdata02 angeben, wenn Sie

5.3 MySQL

Einzelheiten zur MySQL-Installation finden Sie in meinem Blog „CDH 6.2.0 oder 6.3.0 Installation Practice“ und in den offiziellen Dokumentationslinks Nr. 1.5 „MySQL Content“.
Das Standardkennwort für den MySQL-Benutzer im System lautet mysql . Wechseln Sie aus Sicherheitsgründen bitte zu einem stärkeren Passwort, wenn Sie das öffentliche Netzwerk nutzen.
• MySQL-Binlog ist standardmäßig aktiviert. Kann in der Konfigurationsdatei deaktiviert werden.
• Wenn error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory , führen Sie yum -y install numactl.x86_64 aus.
Das Standardkennwort für das MySQL-Datenbankadministratorkonto „root“ lautet 123456 . Sie können es in ein stärkeres Passwort ändern.
• Standardmäßig Remote-Verbindung: mysql -h 宿主機ip -P 33306 -uroot -p .

5.4 Als lokales Bild speichern

# 1 Stoppen Sie den aktuell laufenden Container# docker stop $CONTAINER_ID

# 2 Commits des Docker-Containers Docker-Commit $CONTAINER_ID dev_mysql:v1

# 3 Aktuelle Docker-Images der Bildbibliothek anzeigen

5.5 Senden von Bildern an die Alibaba Cloud Image Library

Senden Sie das Bild an die Alibaba Cloud Image Library auf die gleiche Weise wie in 3.7 Senden des Bildes an die Alibaba Cloud Image Library.

Docker-Tag $IMAGE_ID registry.cn-shanghai.aliyuncs.com/yore/bigdata:dev-mysql_v1
Docker-Push-Registrierung.cn-shanghai.aliyuncs.com/yore/bigdata:dev-mysql_v1

Dieses Image basiert auf Centos 7. Basierend auf der Version der Entwicklungsumgebung ist der MySQL 5.7- Dienst integriert. Hinweis: Nach dem Start lautet das Standardkennwort des System-Root-Benutzers 2020. Um das System sicherer zu machen, ändern Sie es bitte zuerst in ein komplexeres Kennwort.

# Sehen Sie sich die Bilder an, die sich derzeit in Docker befinden sudo docker images 

# Hochgeladenes Bild abrufen## Die Bildverbindung kann über die Basisinformationen angezeigt werden. Es stehen öffentliche Netzwerkadressen, private Netzwerke und klassische Netzwerke zur Auswahl. sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:dev-mysql_v1

Weitere Informationen zur Docker-Installation, zur Verwendung von MySQL-Images in Docker, zu chinesischen Schriftzeichen des offiziellen Docker-MySQL-Images usw. finden Sie in meinem anderen Blog: Installieren von MySQL mit Docker unter Windows/Mac

Dies ist das Ende dieses Artikels über mehrere häufig verwendete CentOS7-Images, die auf Docker basieren. Weitere relevante häufig verwendete CentOS7-Images für Docker finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Beispiel für das Einrichten eines privaten Docker-Image-Repository auf einem CentOS 7.2-Server
  • Detaillierte Erläuterung der Docker-Image-CentOS7-Konfiguration der Java-Laufzeitumgebung
  • Ändern Sie den Speicherort der Docker-Standardimages und -Container in CentOS 7
  • So erstellen Sie ein lokales Docker-Image-Warehouse unter einem CentOS7-System
  • Docker-Image-Beschleunigung CentOS7 detaillierte Einführung
  • Lösung für das Timeout, wenn Docker unter CentOS7 keine Bilder herunterladen kann (grafische Lösung)

<<:  Detaillierte Erklärung, wie Sie alle untergeordneten Elemente mit CSS auswählen

>>:  Einige Vorschläge für HTML-Anfänger und Neulinge, Experten können sie ignorieren

Artikel empfehlen

Diagramm des Prozesses zur Implementierung eines Richtungsproxys durch Nginx

Dieser Artikel stellt hauptsächlich den Prozess d...

Einfaches Beispiel zum Hinzufügen und Entfernen von HTML-Knoten

<br />Einfaches Beispiel zum Hinzufügen und ...

Zusammenfassung der SQL-Deduplizierungsmethoden

Wenn wir SQL zum Extrahieren von Daten verwenden,...

Kurze Einführung und Verwendung von Table und div

Web-Frontend 1 Studierendenausweis Name Geschlech...

JavaScript-Makrotasks und Mikrotasks

Makrotasks und Mikrotasks JavaScript ist eine Sin...

So verwenden Sie die MySQL-Indexzusammenführung

Die Indexzusammenführung ist ein intelligenter Al...

Zabbix-Überwachungslösung – die neueste offizielle Version 4.4 [empfohlen]

Zabbix 12.10.2019 Chenxin siehe https://www.zabbi...

So entwerfen Sie MySQL-Statistikdatentabellen

Inhaltsverzeichnis Ist eine Echtzeitaktualisierun...

Verwendung der MySQL-Anweisung „truncate table“

Mit der Anweisung „Truncate table“ werden alle Da...

Detaillierte Erläuterung des MySQL-Mechanismus zur gemeinsamen Abfrageoptimierung

Inhaltsverzeichnis Strategie zur Ausführung föder...

Wann ist die Verwendung von dl, dt und dd sinnvoll?

dl: Definitionsliste Definitionsliste dt: Definiti...

Detaillierte Erläuterung des Falls des JavaScript-Upload-Dateilimitparameters

Projektszenario: 1. Einschränkungen beim Hochlade...