Detaillierte Schritte zum Bereitstellen von lnmp unter Docker

Detaillierte Schritte zum Bereitstellen von lnmp unter Docker

Ziehen Sie ein CentOS-Image

//Laden Sie das CentOS-Image herunter [root@localhost ~]# docker pull centos
Standard-Tag verwenden: latest
neuestes: Aus Bibliothek/CentOS ziehen
a1d0c7532777: Ziehen abgeschlossen 
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Neueres Image für Centos:latest heruntergeladen
docker.io/library/centos:latest

//Bild anzeigen [root@localhost ~]# Docker-Images
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
centos latest 5d0da3dc9764 vor 2 Monaten 231MB

Generieren Sie einen Nginx-Container basierend auf CentOS

//Verwenden Sie das Image, um den Container zu starten und den Container aufzurufen [root@localhost ~]# docker run -it --name centos_nginx centos /bin/bash
[root@c193fcb41eae /]# yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++ vim wodurch wget
[root@c193fcb41eae /]# yum -y groups mark install 'Entwicklungstools'

//Benutzer und Gruppen erstellen [root@c193fcb41eae /]# useradd -r -M -s /sbin/nologin nginx

//Erstellen Sie ein Protokollspeicherverzeichnis [root@c193fcb41eae /]# mkdir -p /var/log/nginx
[root@c193fcb41eae /]# chown -R nginx.nginx /var/log/nginx

//Laden Sie das Installationspaket herunter und entpacken Sie es [root@c193fcb41eae /]# cd /usr/src/
[root@c193fcb41eae src]# wget http://nginx.org/download/nginx-1.21.4.tar.gz
[root@c193fcb41eae src]# ls
Debuggen Sie den Kernel nginx-1.21.4.tar.gz
[root@c193fcb41eae src]# tar xf nginx-1.21.4.tar.gz 

//Kompilieren und installieren [root@c193fcb41eae src]# cd nginx-1.21.4
[root@c193fcb41eae nginx-1.21.4]# ./konfigurieren \
--prefix=/usr/local/nginx \
--Benutzer=nginx \
--group=nginx \
--mit-debug \
--mit-http_ssl_module \
--mit-http_realip_module \
--mit-http_image_filter_module \
--mit-http_gunzip_module \
--mit-http_gzip_static_module \
--mit-http_stub_status_module \
--http-log-path=/var/log/nginx/access.log \
--error-log-path=/var/log/nginx/error.log

[root@c193fcb41eae nginx-1.21.4]# make -j $(grep 'Prozessor' /proc/cpuinfo | wc -l) && make install 

[root@c193fcb41eae nginx-1.21.4]# echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh
[root@c193fcb41eae nginx-1.21.4]# . /etc/profile.d/nginx.sh
[root@c193fcb41eae nginx-1.21.4]# welches nginx
/usr/local/nginx/sbin/nginx

[root@localhost ~]# docker exec -it nginx05 /bin/bash
[root@c193fcb41eae /]# ss -antl
Status Recv-Q Send-Q Lokale Adresse:Port Peer-Adresse:Port              
HÖREN 0 128 *:80 

[root@c193fcb41eae /]# vi /usr/local/nginx/conf/nginx.conf
......
        Standort / {
            Stamm-HTML;
            index index.php index.html index.htm; #Index.php in Zeile 45 hinzufügen
        }
......
        #Entfernen Sie die Kommentarzeichen aus den Zeilen vor den geschweiften Klammern von location ~ .php$ (65~71) location ~ \.php$ {
            root /var/www/html; #PHP-Testseitenverzeichnis fastcgi_pass 127.0.0.1:9000; #bei der Arbeit sollte dies in die Adresse des PHP-Servers fastcgi_index index.php geändert werden;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #Ändern Sie /script in $document_root
            fastcgi_params einschließen;
        }
        ......
Daemon aus; #Im Vordergrund ausführen#Start.sh im Stammverzeichnis erstellen
[root@c193fcb41eae /]# cat >> start.sh <<EOF
#!/bin/bash
/usr/local/nginx/sbin/nginx
Ende der Laufzeit

[Strg]+q+p Container verlassen [root@localhost ~]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
c193fcb41eae 1314444/source_nginx:nginx-1.21.4 "/bin/bash" vor 24 Stunden 30 Minuten aktiv nginx05

Generieren Sie MySQL-Container basierend auf CentOS

//Erstellen Sie ein MySQL-Image und verwenden Sie das Containermodus-Netzwerk [root@localhost ~]# docker run -it --name mysql01 --network container:nginx05 centos:latest /bin/bash
[root@3367881fd446 /]# #Starten Sie das lokale Image centos und installieren Sie MySQL darin --network container:nginx05 (verwenden Sie die Container-ID nginx05 als gemeinsam genutztes Netzwerk)

//Öffnen Sie erneut ein Terminal, um das MySQL-Paket anzuzeigen und hochzuladen [root@localhost ~]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
466e7f22d1f3 centos:latest "/bin/bash" vor 11 Sekunden Aktiv seit 10 Sekunden mysql01 # mysql-Container läuft c193fcb41eae 1314444/source_nginx:nginx-1.21.4 "/usr/local/nginx/sb…" vor 9 Stunden Aktiv seit 34 Minuten 0.0.0.0:8080->80/tcp, :::8080->80/tcp nginx05

#mysql-Container läuft. Fügen Sie hier den Codeausschnitt ein [root@localhost ~]# ls
anaconda-ks.cfg mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
[root@localhost ~]# docker cp mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz mysql01:/usr/src

//Unter MySQL-Container anzeigen [root@c193fcb41eae /]# ls /usr/src/
Debuggen Sie Kernel mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

////Benutzer und Gruppen erstellen [root@c193fcb41eae /]# useradd -r -M -s /sbin/nologin mysql
[root@c193fcb41eae /]# id mysql
UID = 998 (MySQL) GID = 996 (MySQL) Gruppen = 996 (MySQL)

//Umgebung aufräumen und abhängige Pakete installieren [root@c193fcb41eae /]# yum clean all
[root@c193fcb41eae /]# yum -y install ncurses-devel openssl-devel openssl cmake mariadb-devel ncurses-compat-libs welche numactl libaio

//Entpacken [root@c193fcb41eae /]# cd /usr/src/
[root@c193fcb41eae src]# tar xf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@c193fcb41eae src]# ls /usr/local/
bin usw. Spiele umfassen lib lib64 libexec mysql-5.7.34-linux-glibc2.12-x86_64 sbin teilen src

//Erstellen Sie einen Softlink [root@c193fcb41eae src]# cd /usr/local/
[root@c193fcb41eae lokal]# ln -s mysql-5.7.34-linux-glibc2.12-x86_64 mysql
[root@c193fcb41eae lokal]# ls -l
gesamt 0
drwxr-xr-x 2 root root 6 3. November 2020 bin
drwxr-xr-x 2 root root 6 3. November 2020 usw.
drwxr-xr-x 2 root root 6 3. November 2020 Spiele
drwxr-xr-x 2 root root 6 3. November 2020 einschließen
drwxr-xr-x 2 root root 6 3. November 2020 lib
drwxr-xr-x 3 Wurzel Wurzel 17. September 15 14:17 lib64
drwxr-xr-x 2 root root 6 3. November 2020 libexec
lrwxrwxrwx 1 root root 35 3. Dez. 16:18 mysql -> mysql-5.7.34-linux-glibc2.12-x86_64
drwxr-xr-x 9 root root 129 3. Dez. 16:17 mysql-5.7.34-linux-glibc2.12-x86_64
drwxr-xr-x 2 root root 6 3. November 2020 sbin
drwxr-xr-x 5 root root 49 Sep 15 14:17 teilen
drwxr-xr-x 2 root root 6 3. November 2020 src

//Ändern Sie die Eigentümergruppe [root@c193fcb41eae local]# chown -R mysql.mysql /usr/local/mysql*
[root@c193fcb41eae lokal]# ls -l
gesamt 0
drwxr-xr-x 2 root root 6 3. November 2020 bin
drwxr-xr-x 2 root root 6 3. November 2020 usw.
drwxr-xr-x 2 root root 6 3. November 2020 Spiele
drwxr-xr-x 2 root root 6 3. November 2020 einschließen
drwxr-xr-x 2 root root 6 3. November 2020 lib
drwxr-xr-x 3 Wurzel Wurzel 17. September 15 14:17 lib64
drwxr-xr-x 2 root root 6 3. November 2020 libexec
lrwxrwxrwx 1 mysql mysql 35 3. Dez. 16:18 mysql -> mysql-5.7.34-linux-glibc2.12-x86_64
drwxr-xr-x 9 mysql mysql 129 3. Dez. 16:17 mysql-5.7.34-linux-glibc2.12-x86_64
drwxr-xr-x 2 root root 6 3. November 2020 sbin
drwxr-xr-x 5 root root 49 Sep 15 14:17 teilen
drwxr-xr-x 2 root root 6 3. November 2020 src

//Umgebungsvariablen hinzufügen [root@c193fcb41eae local]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@c193fcb41eae lokal]# Quelle /etc/profile.d/mysql.sh
[root@c193fcb41eae lokal]# welches MySQL
/usr/local/mysql/bin/mysql

//Headerdatei (Include), Bibliothek lesen
[root@c193fcb41eae lokal]# ln -s /usr/local/mysql/include/ /usr/local/include/mysql
[root@c193fcb41eae lokal]# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
[root@c193fcb41eae lokal]# ldconfig

//Erstellen Sie ein Datenspeicherverzeichnis [root@c193fcb41eae local]# mkdir -p /opt/data
[root@c193fcb41eae lokal]# chown -R mysql.mysql /opt/data/
[root@c193fcb41eae lokal]# ls -l /opt/data/
gesamt 0

//Datenbank initialisieren [root@c193fcb41eae local]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/opt/data
2021-12-03T16:29:44.502079Z 0 [Warnung] TIMESTAMP mit implizitem DEFAULT-Wert ist veraltet. Bitte verwenden Sie die Serveroption --explicit_defaults_for_timestamp (weitere Einzelheiten finden Sie in der Dokumentation).
2021-12-03T16:29:44.673278Z 0 [Warnung] InnoDB: Neue Protokolldateien erstellt, LSN=45790
2021-12-03T16:29:44.703121Z 0 [Warnung] InnoDB: Erstellen von Systemtabellen mit Fremdschlüsseleinschränkungen.
2021-12-03T16:29:44.759550Z 0 [Warnung] Es wurde keine vorhandene UUID gefunden, daher gehen wir davon aus, dass dies das erste Mal ist, dass dieser Server gestartet wurde. Eine neue UUID wird generiert: 395770aa-5456-11ec-a2ae-0242ac110003.
2021-12-03T16:29:44.761730Z 0 [Warnung] Die Gtid-Tabelle ist nicht zur Verwendung bereit. Tabelle „mysql.gtid_executed“ kann nicht geöffnet werden.
2021-12-03T16:29:45.276899Z 0 [Warnung] CA-Zertifikat ca.pem ist selbstsigniert.
2021-12-03T16:29:45.631478Z 1 [Warnung] root@localhost wird mit einem leeren Passwort erstellt! Bitte denken Sie darüber nach, die Option --initialize-insecure auszuschalten.

//Konfigurationsdatei generieren [root@c193fcb41eae local]# cat > /etc/my.cnf <<EOF
[mysqld]
basedir = /usr/local/mysql
Datenverzeichnis = /opt/data
Socket = /tmp/mysql.sock
Port = 3306
pid-Datei = /opt/data/mysql.pid
Benutzer = MySQL
Namensauflösung überspringen
Ende der Laufzeit

//Ändern Sie [root@c193fcb41eae local]# sed -ri 's#^(basedir=).*#\1/usr/local/mysql#g' /usr/local/mysql/support-files/mysql.server
[root@c193fcb41eae lokal]# sed -ri 's#^(datadir=).*#\1/opt/data#g' /usr/local/mysql/support-files/mysql.server
[root@c193fcb41eae lokal]# ss -antl
Status Recv-Q Send-Q Lokale Adresse:Port Peer-Adresse:Port Prozess            
LISTEN 0 128 0.0.0.0:80 0.0.0.0:*                                 

//Starten Sie [root@c193fcb41eae local]# /usr/local/mysql/support-files/mysql.server start
MySQL.Logging wird in „/opt/data/c193fcb41eae.err“ gestartet.
 ERFOLG! 
[root@c193fcb41eae lokal]# ss -antl
Status Recv-Q Send-Q Lokale Adresse:Port Peer-Adresse:Port Prozess            
LISTEN 0 128 0.0.0.0:80 0.0.0.0:*                                 
HÖREN 0 80 *:3306 *:*  

//Passwort ändern [root@c193fcb41eae local]# mysql
Willkommen beim MySQL-Monitor. Befehle enden mit ; ​​oder \g.
Ihre MySQL-Verbindungs-ID ist 2
Serverversion: 5.7.34 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle und/oder seine Tochtergesellschaften.

Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer
Tochtergesellschaften. Andere Namen können Marken ihrer jeweiligen
Eigentümer.

Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen.

mysql> Passwort festlegen = Passwort('123456');
Abfrage OK, 0 Zeilen betroffen, 1 Warnung (0,00 Sek.)

mysql> beenden
Tschüss

//Testanmeldung [root@c193fcb41eae local]# mysql -uroot -p123456
mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein.
Willkommen beim MySQL-Monitor. Befehle enden mit ; ​​oder \g.
Ihre MySQL-Verbindungs-ID ist 3
Serverversion: 5.7.34 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle und/oder seine Tochtergesellschaften.

Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer
Tochtergesellschaften. Andere Namen können Marken ihrer jeweiligen
Eigentümer.

Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen.

mysql> beenden
Tschüss

[root@c193fcb41eae src]# rm -rf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

Beim Initialisieren von mysql5.7 wird der folgende Fehler gemeldet

Fehler beim Laden gemeinsam genutzter Bibliotheken: libnuma.so.1: Gemeinsam genutzte Objektdatei kann nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis

//Lösung: yum -y install numactl libaio

Generieren Sie einen PHP-Container basierend auf CentOS

//Führen Sie einen PHP-Container und Nginx aus, um das Netzwerk gemeinsam zu nutzen [root@localhost ~]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
466e7f22d1f3 centos:latest "/bin/bash" vor 52 Minuten Up 3 Minuten mysql01
c193fcb41eae 1314444/source_nginx:nginx-1.21.4 "/usr/local/nginx/sb…" vor 10 Stunden Aktiv Vor etwa einer Stunde 0.0.0.0:8080->80/tcp, :::8080->80/tcp nginx05

[root@localhost ~]# docker run -it --name php8 --network container:nginx05 centos:latest /bin/bash # Starten Sie das lokale Image centos und installieren Sie PHP darin --network container:nginx05 (verwenden Sie die Container-ID nginx05 als gemeinsam genutztes Netzwerk)
[root@c193fcb41eae /]# 

//Öffnen Sie ein Terminal erneut, um den laufenden Container anzuzeigen [root@localhost ~]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
22ce0738d9d7 centos:latest "/bin/bash" vor 28 Sekunden Up 27 Sekunden php8
466e7f22d1f3 centos:latest "/bin/bash" vor 54 Minuten Up 5 Minuten mysql01
c193fcb41eae 1314444/source_nginx:nginx-1.21.4 "/usr/local/nginx/sb…" vor 10 Stunden Aktiv Vor etwa einer Stunde 0.0.0.0:8080->80/tcp, :::8080->80/tcp nginx05

//Umgebung aufräumen und Epel-Quelle installieren [root@c193fcb41eae /]# yum clean all
[root@c193fcb41eae /]# yum -y installiere epel-release

//Abhängige Pakete installieren [root@c193fcb41eae /]# yum installiere sqlite-devel libzip-devel libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libicu-devel libjpeg-turbo libjpeg-turbo-devel libpng libpng-devel openldap-devel pcre-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel mhash mhash-devel gcc gcc-c++ make which --allowerasing

[root@c193fcb41eae /]# yum -y install http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/oniguruma-devel-6.8.2-2.el8.x86_64.rpm

//Öffnen Sie ein weiteres Terminal, um das PHP-Paket in den Container hochzuladen [root@localhost ~]# ls
anaconda-ks.cfg mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz php-8.0.11.tar.gz
[root@localhost ~]# docker cp php-8.0.11.tar.gz 22ce0738d9d7:/usr/src/

//Entpacken [root@c193fcb41eae /]# ls /usr/src/
Debuggen Sie Kernel php-8.0.11.tar.gz
[root@c193fcb41eae /]# cd /usr/src/
[root@c193fcb41eae src]# tar xf php-8.0.11.tar.gz -C /usr/local/
[root@c193fcb41eae src]# cd /usr/local/
[root@c193fcb41eae lokal]# ls
bin usw. Spiele umfassen lib lib64 libexec php-8.0.11 sbin teilen src

//Kompilieren und installieren Sie [root@c193fcb41eae local]# cd php-8.0.11/
[root@c193fcb41eae php-8.0.11]# ./configure --prefix=/usr/local/php8 \
--with-config-file-path=/etc \
--enable-fpm \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--mit-openssl \
--enable-bcmath \
--mit-iconv \
--mit-bz2 \
--enable-calendar \
--mit-curl \
--enable-exif \
--enable-ftp \
--enable-gd \
--mit-jpeg \
--with-zlib-dir \
--mit-freetype \
--mit-gettext \
--enable-mbstring \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--mit-readline \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--mit-zip \
--enable-mysqlnd-compression-support \
--mit-Birne \
--enable-pcntl \
--enable-posix &&
machen && machen installieren

//Umgebungsvariablen hinzufügen [root@c193fcb41eae php-8.0.11]# echo 'export PATH=/usr/local/php8/bin:$PATH' > /etc/profile.d/php.sh
[root@c193fcb41eae php-8.0.11]# Quelle /etc/profile.d/php.sh
[root@c193fcb41eae php-8.0.11]# welches php
/usr/local/php8/bin/php

//PHP-FPM-Datei konfigurieren [root@c193fcb41eae php-8.0.11]# \cp php.ini-production /etc/php.ini
[root@c193fcb41eae php-8.0.11]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@c193fcb41eae php-8.0.11]# chmod +x /etc/init.d/php-fpm
[root@c193fcb41eae php-8.0.11]# cp /usr/local/php8/etc/php-fpm.conf.default /usr/local/php8/etc/php-fpm.conf
[root@c193fcb41eae php-8.0.11]# cp /usr/local/php8/etc/php-fpm.d/www.conf.default /usr/local/php8/etc/php-fpm.d/www.conf
[root@c193fcb41eae /]# mkdir -p /var/www/html
[root@c193fcb41eae /]# Katze > /var/www/html/index.php <<EOF
<?php
   phpinfo();
?>
Ende der Laufzeit

[root@c193fcb41eae /]# vi /usr/local/php8/etc/php-fpm.conf
daemonize = no #Entfernen Sie die Kommentarzeichen und setzen Sie daemonize = no, um PHP im Vordergrund laufen zu lassen [root@c193fcb41eae /]# rm -rf /usr/src/php-8.0.11.tar.gz

[root@c193fcb41eae php-8.0.11]# /usr/local/php8/sbin/php-fpm
[root@c193fcb41eae php-8.0.11]# ss -anlt
Status Recv-Q Send-Q Lokale Adresse:Port Peer-Adresse:Port Prozess            
LISTEN 0 128 0.0.0.0:80 0.0.0.0:*                                 
LISTEN 0 128 127.0.0.1:9000 0.0.0.0:*                                 
HÖREN 0 80 *:3306 *:* 

//php-Startskript [root@c193fcb41eae /]# vi /start.sh
#!/bin/bash
/usr/local/php8/sbin/php-fpm
[root@c193fcb41eae /]# chmod +x /start.sh 


[root@localhost ~]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
22ce0738d9d7 centos:latest "/bin/bash" vor 46 Minuten Up 46 Minuten php8
466e7f22d1f3 centos:latest "/bin/bash" vor 2 Stunden Vor 51 Minuten mysql01
c193fcb41eae 1314444/source_nginx:nginx-1.21.4 "/usr/local/nginx/sb…" vor 11 Stunden Aktiv seit 2 Stunden 0.0.0.0:8080->80/tcp, :::8080->80/tcp nginx05

Bildbeschreibung hier einfügen

Erstellen Sie ein Bild

[root@localhost ~]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
b8aff1ca0d45 centos:latest "./start.sh" vor 4 Sekunden Up 3 Sekunden php8
cb81cdc671e4 centos:latest "./start.sh" vor 8 Minuten Up 8 Minuten mysql01
c193fcb41eae nginx: letztes „/usr/local/nginx/sb...“ vor 11 Minuten. Vor 11 Minuten aktiv 0.0.0.0:8080->80/tcp, :::8080->80/tcp nginx05

//Nginx-Image erstellen [root@localhost ~]# docker commit -a ' hhr 123@qq.com' -c 'CMD ["/usr/local/nginx/sbin/nginx"]' nginx05 1314444/lnmp:nginx-v0.1
sha256:ae3a6692a4c0c3a615bdf08ad2941a8526c0acda2b6b6b21dfb625407280ac25

//MySQL-Image erstellen [root@localhost ~]# docker commit -a ' hhr 123@qq.com' -c 'CMD ["./start.sh"]' mysql01 1314444/lnmp:mysql-v0.1
sha256:ff7d2b91b948baf5ecde42ad6783d80b00fb4c18bc3edc3e9d907f2a7b0e8b96

//PHP-Image erstellen [root@localhost ~]# docker commit -a ' hhr 123@qq.com' -c 'CMD ["./start.sh"]' php8 1314444/lnmp:php8-v0.1
sha256:359cf3ac83b0faea8d17fa4ba7eb3ed149b4ab68b8f625ed20e049d73a2c78ee

[root@localhost ~]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
1314444/lnmp php8-v0.1 359cf3ac83b0 vor 7 Sekunden 1,56 GB
1314444/lnmp mysql-v0.1 ff7d2b91b948 vor 4 Minuten 3,81 GB
1314444/lnmp nginx-v0.1 ae3a6692a4c0 vor 7 Minuten 551 MB
centos latest 5d0da3dc9764 vor 2 Monaten 231MB

Erstellen Sie einen lnmp-Container mit dem neuen Image

//Starten Sie den Nginx-Container [root@localhost ~]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN

[root@localhost ~]# docker run -d --name nginx -p 80:80 1314444/lnmp:nginx-v0.1
fad400d5145fea77e336200b915fd2321a9ee3c14d0bf8ecb9fe112f8e2b9106
[root@localhost ~]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
a5346a4eb92b ae3a6692a4c0 "./start.sh" vor 10 Sekunden Aktiv seit 9 Sekunden 0.0.0.0:80->80/tcp, :::80->80/tcp nginx

[root@localhost ~]# docker exec -it nginx /bin/bash
[root@a5346a4eb92b /]# ss -anlt
Status Recv-Q Send-Q Lokale Adresse:Port Peer-Adresse:Port Prozess            
LISTEN 0 128 0.0.0.0:80 0.0.0.0:* 
 

//Starten Sie den MySQL-Container [root@localhost ~]# docker run -d --name mysql --network container:fad400d5145f 1314444/lnmp:mysql-v0.1
cb81cdc671e4c266ea9d1537367ab509e1c50a9c29d6741fed632ee6c3ad1ddb
   
[root@localhost ~]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
861eabb3a5b7 ff7d2b91b948 "./start.sh" vor 35 Sekunden Up 34 Sekunden mysql
a5346a4eb92b ae3a6692a4c0 "./start.sh" vor 7 Minuten Aktiv seit 7 Minuten 0.0.0.0:80->80/tcp, :::80->80/tcp nginx

[root@localhost ~]# docker exec -it mysql /bin/bash
[root@a5346a4eb92b /]# ss -antl
Status Recv-Q Send-Q Lokale Adresse:Port Peer-Adresse:Port Prozess  
LISTEN 0 128 0.0.0.0:80 0.0.0.0:*              
HÖREN 0 80 *:3306 *:*        



//Starten Sie den PHP-Container [root@localhost ~]# docker run -d --name php --network container:fad400d5145f 1314444/lnmp:php-v0.1
b8aff1ca0d45033ed1f20071d98678573edec8c6c9c521fc7ddf024b01c0d0f9

[root@localhost ~]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
b8aff1ca0d45 1314444/lnmp:php-v0.1 "./start.sh" vor 4 Sekunden Up 3 Sekunden php
cb81cdc671e4 1314444/lnmp:mysql-v0.1 "./start.sh" vor 8 Minuten Up 8 Minuten mysql
fad400d5145f 0229f7e8313f "./start.sh" vor 11 Minuten Aktiv seit 11 Minuten 0.0.0.0:80->80/tcp, :::80->80/tcp nginx

[root@localhost ~]# docker exec -it php /bin/bash
[root@fad400d5145f /]# ss -anlt
Status Recv-Q Send-Q Lokale Adresse:Port Peer-Adresse:Port Prozess             
LISTEN 0 128 0.0.0.0:80 0.0.0.0:*                                    
LISTEN 0 128 127.0.0.1:9000 0.0.0.0:*                                    
HÖREN 0 80 *:3306 *:*  

prüfen

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Dies ist das Ende dieses Artikels über die detaillierten Schritte zur Bereitstellung von lnmp unter Docker. Weitere relevante Inhalte zur Docker-Bereitstellung von lnmp finden Sie in früheren Artikeln auf 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:
  • So stellen Sie die LNMP-Architektur im Docker bereit
  • So erstellen Sie eine lnmp-Umgebung im Docker
  • Detaillierte Erläuterung zur Verwendung von Docker zum Erstellen einer LNMP-Umgebung

<<:  Zusammenfassung der Unterschiede zwischen Get- und Post-Anfragen in Vue

>>:  Umfassende Zusammenfassung der MySQL-Funktionen

Artikel empfehlen

Fehlerbehebung bei der Ursache des 502 Bad Gateway-Fehlers auf dem Nginx-Server

Der Server meldet einen Fehler 502 beim Synchroni...

Vue3 (III) Website Homepage Layout Entwicklung

Inhaltsverzeichnis 1. Einleitung 2. Tatsächliche ...

Äußerst detaillierte Freigabe der MySQL-Nutzungsspezifikation

In letzter Zeit waren viele datenbankbezogene Vor...

Implementieren von Rechnerfunktionen mit dem WeChat-Applet

Dieser Artikel ist ein einfacher Rechner, der mit...

Natives JS zur Implementierung eines einfachen Rechners

In diesem Artikelbeispiel wird der spezifische Co...

So implementieren Sie Zeilenumbrüche im Texteingabebereich von Textarea

Wenn Sie den Text im Textarea-Eingabebereich umbre...

8 Möglichkeiten zum manuellen und automatischen Sichern Ihrer MySQL-Datenbank

MySQL ist ein beliebtes Open-Source-Datenbankverw...

MySQL 5.7.17 neuestes Installationstutorial mit Bildern und Text

mysql-5.7.17-winx64 ist die neueste Version von M...

Detaillierte Erklärung zur SQL-Injection - Sicherheit (Teil 2)

Sollte dieser Artikel Fehler enthalten oder du An...

Neuer Ansatz zum Umschalten der Tab-Leiste mit zwei Auswahlmöglichkeiten in Vue

Problembeschreibung Wenn wir an einem Projekt arb...