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 [email protected]' -c 'CMD ["/usr/local/nginx/sbin/nginx"]' nginx05 1314444/lnmp:nginx-v0.1
sha256:ae3a6692a4c0c3a615bdf08ad2941a8526c0acda2b6b6b21dfb625407280ac25

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

//PHP-Image erstellen [root@localhost ~]# docker commit -a ' hhr [email protected]' -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

Drei Möglichkeiten zum Kopieren von MySQL-Tabellen (Zusammenfassung)

Tabellenstruktur und deren Daten kopieren Die fol...

Ein einfaches Tutorial zur Verwendung des MySQL-Protokollsystems

Inhaltsverzeichnis Vorwort 1. Fehlerprotokoll 2. ...

Handschriftliche Implementierung von new in JS

Inhaltsverzeichnis 1 Einführung in den neuen Oper...

Warum ich Nginx als Backend-Server-Proxy empfehle (Gründeanalyse)

1. Einleitung Unsere realen Server sollten nicht ...

Wozu dient das Feld „enctype“ beim Hochladen von Dateien?

Das enctype-Attribut des FORM-Elements gibt den Ko...

Detaillierte Erklärung zur Verwendung mehrerer Timer in CocosCreator

1. setTimeOut Drucken Sie abc nach 3 Sekunden. Nu...

Detaillierte Erklärung des Explain-Typs in MySQL

Einführung: In vielen Fällen denken viele Leute, ...

So stellen Sie FastDFS in Docker bereit

Installieren Sie Fastdfs auf Docker Mount-Verzeic...

Flex-Layout realisiert linken Textüberlauf und lässt rechte Textanpassung aus

Ich möchte eine Situation erreichen, in der die B...

MySQL-Einfügungsproblem bei JSON

MySQL 5.7.8 und höher unterstützt nun einen nativ...

Webdesign: Die genaue Platzierung und Verwendung massiver Materialien

Durch dreimaliges Auswendiglernen können Sie sich...

JavaScript zum Implementieren einer dynamischen Digitaluhr

In diesem Artikel finden Sie den spezifischen Cod...