Dockerコンテナを介してランプアーキテクチャを構築するプロセス

Dockerコンテナを介してランプアーキテクチャを構築するプロセス

1. Centosイメージを取得する

[root@localhost ~]# docker pull centos
デフォルトタグの使用: 最新
最新: library/centos から取得
a1d0c7532777: プル完了 
ダイジェスト: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
ステータス: centos:latest の新しいイメージをダウンロードしました
docker.io/ライブラリ/centos:最新
[root@localhost ~]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
centos 最新 5d0da3dc9764 2か月前 231MB
[root@localhost ~]# 


2. nginxイメージをビルドする

[root@localhost ~]# docker run --name nginx -it centos
[root@522006030d19 /]# useradd -r -M -s /sbin/nologin nginx
[root@522006030d19 /]# yum -y インストール pcre-devel pcre gcc gcc-c++ openssl-devel zlib zlib-devel make vim wget openssl openssl-devel gd-devel
[root@522006030d19 /]# mkdir -p /var/log/nginx
[root@522006030d19 /]# chown -R nginx.nginx /var/log/nginx
[root@522006030d19 /]# cd /usr/src/
[root@522006030d19 src]# wget https://nginx.org/download/nginx-1.20.1.tar.gz
[root@522006030d19 src]# tar xf nginx-1.20.1.tar.gz 
[root@522006030d19 src]# cd nginx-1.20.1
[root@522006030d19 nginx-1.20.1]# ./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --デバッグあり\
> --with-http_ssl_module \
> --with-http_realip_module \
> --with-http_image_filter_module \
> --with-http_gunzip_module \
> --with-http_gzip_static_module \
> --with-http_stub_status_module \
> --http-log-path=/var/log/nginx/access.log \
> --error-log-path=/var/log/nginx/error.log
[root@522006030d19 nginx-1.20.1]# make -j $(grep 'プロセッサ' /proc/cpuinfo | wc -l) && make install
[root@522006030d19 nginx-1.20.1]# echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh[root@522006030d19 nginx-1.20.1]# source /etc/profile.d/nginx.sh
[root@522006030d19 nginx-1.20.1]# nginx 
[root@522006030d19 nginx-1.20.1]# ss -antl
状態 受信Q 送信Q ローカルアドレス:ポート ピアアドレス:ポート プロセス      
聞く 0 128 0.0.0.0:80 0.0.0.0:*                      
[ルート@522006030d19 nginx-1.20.1]#           
[root@522006030d19 nginx-1.20.1]# echo "デーモンオフ;" >> /usr/local/nginx/conf/nginx.conf
[root@522006030d19 nginx-1.20.1]# 末尾 -1 /usr/local/nginx/conf/nginx.conf
デーモンオフ;
[ルート@522006030d19 nginx-1.20.1]# 

//別のターミナルを開く [root@localhost ~]# docker commit -c 'CMD ["/usr/local/nginx/sbin/nginx"]'-p nginx pengyudong/nginx:v1
sha256:2153a12060f6cca88646f285a1ae2af2a94c0d489ad8393f931d29c8fdd8af6e
[root@localhost ~]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
pengyudong/nginx v1 2153a12060f6 27秒前 576MB
centos 最新 5d0da3dc9764 2か月前 231MB
[root@localhost ~]# 

[root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
[root@localhost ~]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
522006030d19 centos "/bin/bash" 14 分前 終了 (0) 38 秒前 nginx
[root@localhost ~]# docker rm 522006030d19
522006030d19
[root@localhost ~]# docker run pengyudong/nginx:v1
[root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
9c129a20e7c7 pengyudong/nginx:v1 "/usr/local/nginx/sb…" 約 1 分前 2 秒前 blissful_perlman

[root@localhost ~]# docker 検査 9c129a20e7c7
...N 行を省略 "Gateway": "172.17.0.1",
            "グローバルIPv6アドレス": "",
            "グローバルIPv6プレフィックス長": 0,
            "IPアドレス": "172.17.0.2",
.....N行省略 [root@localhost ~]# curl 172.17.0.2
<!DOCTYPE html>
<html>
<ヘッド>
<title>nginx へようこそ!</title>
<スタイル>
    体 {
        幅: 35em;
        マージン: 0 自動;
        フォントファミリー: Tahoma、Verdana、Arial、sans-serif;
    }
</スタイル>
</head>
<本文>
<h1>nginx へようこそ!</h1>
<p>このページが表示されたら、nginxウェブサーバーは正常にインストールされており、
動作しています。さらに設定が必要です。</p>

<p>オンラインドキュメントとサポートについては、
<a href="http://nginx.org/" rel="external nofollow" >nginx.org</a>。<br/>
商用サポートは以下からご利用いただけます。
<a href="http://nginx.com/" rel="external nofollow" >nginx.com</a> です。</p>

<p><em>nginx をご利用いただきありがとうございます。</em></p>
</本文>
</html>
[root@localhost ~]# 

3. MySQLイメージをビルドする

[root@localhost ~]# docker run --name mysql -it centos
[root@16256ee64b9e /]# cd /usr/src/
[root@16256ee64b9e src]# ls
カーネルをデバッグする
[root@16256ee64b9e ソース]# 
//別のターミナルを開く [root@localhost src]# ls
デバッグカーネル mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
[root@localhost ~]# cd /usr/src/
[root@localhost src]# docker cp mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz mysql:/usr/src/
[root@16256ee64b9e src]# ls
デバッグカーネル mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
[root@16256ee64b9e ソース]# 
[root@16256ee64b9e src]# yum -y インストール ncurses-devel openssl-devel openssl cmake mariadb-devel ncurses-compat-libs libaio numactl
[root@16256ee64b9e src]# useradd -r -M -s /sbin/nologin mysql
[root@16256ee64b9e src]# tar xf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz 
[root@16256ee64b9e src]# mv mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql 
[root@16256ee64b9e src]# cd /usr/local/
[root@16256ee64b9e ローカル]# ls
bin などゲームには lib lib64 libexec mysql sbin share src が含まれます
[root@16256ee64b9e ローカル]# chown -R mysql.mysql /usr/local/mysql 
[root@16256ee64b9e ローカル]# mkdir /opt/data
[root@16256ee64b9e ローカル]# chown -R mysql.mysql /opt/data 
[root@16256ee64b9e ローカル]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/opt/data
2021-12-06T02:53:34.095554Z 0 [警告] 暗黙の DEFAULT 値を持つ TIMESTAMP は非推奨です。--explicit_defaults_for_timestamp サーバー オプションを使用してください (詳細についてはドキュメントを参照してください)。
2021-12-06T02:53:35.482793Z 0 [警告] InnoDB: 新しいログファイルが作成されました、LSN=45790
2021-12-06T02:53:35.506011Z 0 [警告] InnoDB: 外部キー制約システム テーブルを作成しています。
2021-12-06T02:53:35.562063Z 0 [警告] 既存の UUID が見つからなかったため、このサーバーが初めて起動されたと想定します。新しい UUID を生成しています: b4aa24d8-563f-11ec-80a8-0242ac110003。
2021-12-06T02:53:35.562798Z 0 [警告] Gtid テーブルは使用準備ができていません。テーブル 'mysql.gtid_executed' を開くことができません。
2021-12-06T02:53:35.979249Z 0 [警告] CA 証明書 ca.pem は自己署名されています。
2021-12-06T02:53:36.217615Z 1 [警告] root@localhost が空のパスワードで作成されました。--initialize-insecure オプションをオフにすることを検討してください。
[root@16256ee64b9e ローカル]# 
[root@16256ee64b9e local]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@16256ee64b9e ローカル]# . /etc/profile.d/mysql.sh
[root@16256ee64b9e ローカル]# echo $PATH
/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[root@16256ee64b9e ローカル]# cat > /etc/my.cnf <<EOF
> [mysqld]
> ベースディレクトリ = /usr/local/mysql
> データディレクトリ = /opt/data
> ソケット = /tmp/mysql.sock
> ポート = 3306
>pidファイル = /opt/data/mysql.pid
> ユーザー = mysql
> 名前解決をスキップ
> 終了
[root@16256ee64b9e ローカル]# cat /etc/m
マシンID modprobe.d/ motd my.cnf
makedumpfile.conf.sample モジュールロード.d/ mtab my.cnf.d/
[root@16256ee64b9e ローカル]# cat /etc/my.cnf
[mysqld]
ベースディレクトリ = /usr/local/mysql
データディレクトリ = /opt/data
ソケット = /tmp/mysql.sock
ポート = 3306
pid ファイル = /opt/data/mysql.pid
ユーザー = mysql
名前解決をスキップ
[root@16256ee64b9e ローカル]# 

[root@16256ee64b9e local]# sed -ri 's#^(basedir=).*#\1/usr/local/mysql#g' /usr/local/mysql/support-files/mysql.server
[root@16256ee64b9e local]# sed -ri 's#^(datadir=).*#\1/opt/data#g​​' /usr/local/mysql/support-files/mysql.server
[root@16256ee64b9e ローカル]# sed -n '46,1p' /usr/local/mysql/support-files/mysql.server
ベースディレクトリ=/usr/local/mysql
[root@16256ee64b9e ローカル]# sed -n '47,1p' /usr/local/mysql/support-files/mysql.server
データディレクトリ=/opt/data
[root@16256ee64b9e ローカル]# sed -n '46,47p' /usr/local/mysql/support-files/mysql.server
ベースディレクトリ=/usr/local/mysql
データディレクトリ=/opt/data
[root@16256ee64b9e ローカル]# 

[root@16256ee64b9e ~]# /usr/local/mysql/support-files/mysql.server を起動します
MySQL を起動しています。'/opt/data/16256ee64b9e.err' にログを記録しています。
 成功! 
[root@16256ee64b9e ~]# ss -antl
状態 受信Q 送信Q ローカルアドレス:ポート ピアアドレス:ポート プロセス      
聞く 0 80 *:3306 *:*                      
[ルート@16256ee64b9e ~]#mysql
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは2です
サーバーバージョン: 5.7.34 MySQL コミュニティサーバー (GPL)

Copyright (c) 2000、2021、Oracle およびその関連会社。

OracleはOracle Corporationおよびその関連会社の登録商標です。
その他の名称は各社の商標である場合があります。
所有者。

ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。

mysql> パスワードを password('123') に設定します。
クエリは正常、影響を受けた行は 0 行、警告は 1 件 (0.00 秒)

mysql>終了
さよなら
[ルート@16256ee64b9e ~]# 


[root@16256ee64b9e ~]# mkdir /scripts
[root@16256ee64b9e ~]# vi /scripts/start.sh 
[root@16256ee64b9e ~]# sed -n '1,3p' /scripts/start.sh 
#!/bin/bash
/usr/local/mysql/support-files/mysql.server を起動します
バイナリ
[root@16256ee64b9e ~]# chmod +x /scripts/start.sh 

[root@localhost ~]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
pengyudong/nginx v1 2153a12060f6 28 分前 576MB
centos 最新 5d0da3dc9764 2か月前 231MB
[root@localhost ~]# docker commit -c 'CMD ["/scripts/start.sh"]' -p mysql pengyudong/mysql:v1
sha256:9c8b9aa2d9177e737138f7a42976210fd6e7b039cb543c306281be72c351806e
[root@localhost ~]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
pengyudong/mysql v1 9c8b9aa2d917 4秒前 3.81GB
pengyudong/nginx v1 2153a12060f6 30分前 576MB
centos 最新 5d0da3dc9764 2か月前 231MB

[root@localhost ~]# docker run --name mysql-1 -dit --net=container:97c5a3076d39 pengyudong/mysql:v1
[root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
ade839dc292e pengyudong/mysql:v1 “/scripts/start.sh” 12 分前 12 分前 mysql-1
29007b1a67a8 pengyudong/nginx:v1 “/usr/local/nginx/sb…” 2時間前 約1時間前
[root@localhost ~]# docker exec -it mysql-1 /bin/bash
[root@29007b1a67a8 /]# ss -antl
状態 受信Q 送信Q ローカルアドレス:ポート ピアアドレス:ポート プロセス
聞く 0 128 0.0.0.0:80 0.0.0.0:*
聞く 0 80 *:3306 :

4. PHPイメージをビルドする

[root@localhost ~]# cd /usr/src/
[root@localhost src]# ls
デバッグカーネル mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz php-8.0.10.tar.gz
[root@localhost src]# docker cp php-8.0.10.tar.gz php8:/usr/src/

[root@a116c2a489fe src]# ls
デバッグカーネル php-8.0.10.tar.gz
[root@a116c2a489fe src]# yum -y インストール epel-release

[root@a116c2a489fe src]# yum -y install sqlite-devel libzip-devel libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libicu-devel libjpeg libjpeg-devel libpng libpng-devel openldap-devel pcre-devel freetype freetype-devel gmp gmp-devel readline readline-devel libxslt libxslt-devel oniguruma gcc gcc-c++ make libcurl-devel

[root@a116c2a489fe src]# yum -y インストール http://mirror.centos.org/centos/8-stream/PowerTools/x86_64/os/Packages/oniguruma-devel-6.8.2-2.el8.x86_64.rpm

[root@a116c2a489fe src]# tar xf php-8.0.10.tar.gz 
[root@a116c2a489fe src]# cd php-8.0.10

[root@a116c2a489fe php-8.0.10]# ./configure --prefix=/usr/local/php8 \
> --with-config-file-path=/etc \
> --enable-fpm \
> --disable-debug \
> --disable-rpath \
> --enable-shared \
> --enable-soap \
有効なexif \
--enable-ftp \
--enable-gd \
--jpeg 付き \
--with-zlib-dir \
--freetype \ で
--gettext \ で
--enable-mbstring \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--readline で読み込みます \
--enable-shmop \
--enable-simplexml \
--en> --with-openssl \
> --enable-bcmath \
> --with-iconv \
> --with-bz2 \
> --enable-calendar \
> --with-curl \
> --enable-exif \
> --enable-ftp \
> --enable-gd \
> --jpeg \ で始まる
> --with-zlib-dir \
> --freetype \
> --with-gettext \
> --enable-mbstring \
> --enable-pdo \
> --with-mysqli=mysqlnd \
> --with-pdo-mysql=mysqlnd \
> --with-readline \
> --enable-shmop \
> --enable-simplexml \
> --enable-sockets \
> --zip \ で
> --enable-mysqlnd-compression-support \
> --with-pear \
> --enable-pcntl \
> --enable-posix

[root@a116c2a489fe php-8.0.10]# make -j $(grep 'プロセッサ' /proc/cpuinfo | wc -l) && make install

[root@a116c2a489fe php-8.0.10]# echo 'export PATH=/usr/local/php7/bin:$PATH' > /etc/profile.d/php.sh
[root@a116c2a489fe php-8.0.10]# ソース /etc/profile.d/php.sh


[root@a116c2a489fe php-8.0.10]# cp -f /usr/src/php-8.0.10/php.ini-production /etc/php.ini
cp: '/etc/php.i' を上書きしますか? はい
[root@a116c2a489fe php-8.0.10]# cp -f /usr/src/php-8.0.10/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@a116c2a489fe php-8.0.10]# chmod +x /etc/init.d/php-fpm
[root@a116c2a489fe php-8.0.10]# cp -f /usr/local/php8/etc/php-fpm.conf.default /usr/local//php8/etc/php-fpm.conf  
[root@a116c2a489fe php-8.0.10]# cp -f /usr/local/php8/etc/php-fpm.d/www.conf.default /usr/local/php8/etc/php-fpm.d/www.conf
[root@a116c2a489fe php-8.0.10]# mkdir /scripts
[root@a116c2a489fe php-8.0.10]# vi /scripts/start.sh
[root@a116c2a489fe php-8.0.10]# cat /scripts/start.sh 
#!/bin/bash
/etc/init.d/php-fpm を起動します
バイナリ

[root@a116c2a489fe php-8.0.10]# chmod +x /scripts/start.sh 
[root@a116c2a489fe php-8.0.10]# /etc/init.d/php-fpm を起動します
php-fpm の起動が完了しました
[root@a116c2a489fe php-8.0.10]# ss -antl
状態 受信Q 送信Q ローカルアドレス:ポート ピアアドレス:ポート プロセス      
聞く 0 128 127.0.0.1:9000 0.0.0.0:*                      
[root@a116c2a489fe php-8.0.10]# 

[root@0e6298ebe47d php-8.0.10]#
[root@0e6298ebe47d php-8.0.10]# mkdir -p /var/www/html
[root@0e6298ebe47d php-8.0.10]# vi /var/www/html/index.php
[root@0e6298ebe47d php-8.0.10]# cat /var/www/html/index.php

<?php phpinfo(); ?>

[root@0e6298ebe47d php-8.0.10]#

[root@localhost src]# docker commit -c 'CMD ["/bin/bash","/scripts/start.sh"]' -p php8 pengyudong/php8:v1
sha256:8ee4d3fb7bd27b0242cf096464932ff98fbc42d641d1f6b9cac7ddccb429f450
[root@localhost src]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
pengyudong/php8 v1 8ee4d3fb7bd2 22秒前 1.52GB
pengyudong/mysql v1 9c8b9aa2d917 30分前 3.81GB
pengyudong/nginx v1 2153a12060f6 約1時間前 576MB
centos 最新 5d0da3dc9764 2か月前 231MB
[root@localhost src]# 


5. lnmpを設定する

//nginx を設定する
[root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
a116c2a489fe centos "/bin/bash" 28 分前 28 分前 php8
16256ee64b9e centos "/bin/bash" 55 分前 29 分前 mysql
9c129a20e7c7 pengyudong/nginx:v1 "/usr/local/nginx/sb..." 59 分前 57 分前 blissful_perlman
[root@localhost ~]# docker exec -it 9c129a20e7c7 /bin/bash

[root@9c129a20e7c7 ~]# vi /usr/local/nginx/conf/nginx.conf
...
        位置 / {
            ルートhtml;
            index index.php index.html index.htm; //index.phpを追加
        }
...
        場所 ~ \.php$ {
            root /var/www/html; // fastcgi_pass 127.0.0.1:9000 を変更します。
            fastcgi_index インデックス.php;
            fastcgi_param SCRIPT_FILENAME $Document_root$fastcgi_script_name; // 変更 include fastcgi_params;
        }
...

[root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
a116c2a489fe centos "/bin/bash" 35 分前 35 分前 php8
16256ee64b9e centos "/bin/bash" 約1時間前 36分前 mysql
9c129a20e7c7 pengyudong/nginx:v1 "/usr/local/nginx/sb..." 約 1 時間前 46 秒前 blissful_perlman
[root@localhost ~]# docker commit -c 'CMD ["/usr/local/nginx/sbin/nginx"]'-p 9c129a20e7c7 pengyudong/nginx:v2
sha256:8ca4733bb94edf9dac98982610e626b663052000d2c165127e257eeebec34027
[root@localhost ~]# 
sha256:dd9ec3401a3df247bc19cb792a076cfa915e67cb88fdbdfbf2284bbda6ac9a78
[root@localhost ~]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
pengyudong/nginx v2 dd9ec3401a3d 7秒前 576MB
pengyudong/php8 v1 8ee4d3fb7bd2 8分前 1.52GB
pengyudong/mysql v1 9c8b9aa2d917 38 分前 3.81GB
pengyudong/nginx v1 2153a12060f6 約1時間前 576MB
centos 最新 5d0da3dc9764 2か月前 231MB
[root@localhost ~]# 

//php を設定する
[root@localhost ~]# docker exec -it php8 /bin/bash
[root@a116c2a489fe /]# mkdir -p /var/www/html
[root@a116c2a489fe /]# vi /var/www/html/index.php
[root@a116c2a489fe /]# cat /var/www/html/index.php
<?php
  phpinfo();
?>
[ルート@a116c2a489fe /]# 

[root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
a116c2a489fe centos "/bin/bash" 37 分前 37 分前 php8
16256ee64b9e centos "/bin/bash" 約1時間前 38分前 mysql
9c129a20e7c7 pengyudong/nginx:v1 "/usr/local/nginx/sb..." 約 1 時間前 3 分前 blissful_perlman
[root@localhost ~]# docker commit -c 'CMD ["/bin/bash","/scripts/start.sh"]' -p php8 pengyudong/php8:v2
sha256:6e582cd9d5e8ce4b91addb12e6a53a6e3f5cf762aabe2ce24e5f6396ec3f15ed
[root@localhost ~]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
pengyudong/php8 v2 6e582cd9d5e8 8秒前 1.52GB
pengyudong/nginx v2 dd9ec3401a3d 2分前 576MB
pengyudong/php8 v1 8ee4d3fb7bd2 10分前 1.52GB
pengyudong/mysql v1 9c8b9aa2d917 40分前 3.81GB
pengyudong/nginx v1 2153a12060f6 約1時間前 576MB
centos 最新 5d0da3dc9764 2か月前 231MB
[root@localhost ~]# 

//コンテナモードを使用してコンテナ間の通信を有効にします [root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
a116c2a489fe centos "/bin/bash" 38 分前 38 分前 php8
16256ee64b9e centos "/bin/bash" 約1時間前 40分前 mysql
9c129a20e7c7 pengyudong/nginx:v1 "/usr/local/nginx/sb..." 約 1 時間前 4 分前 blissful_perlman
[root@localhost ~]# docker rm -f a116c2a489fe 16256ee64b9e 9c129a20e7c7
a116c2a489fe
16256ee64b9e
9c129a20e7c7
[root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
[root@localhost ~]# 

[root@localhost ~]# docker run --name nginx -dit -p 80:80 pengyudong/nginx:v2
f64441e51181b9dc41806a9b1363a22ce28fd83f4cbd7f85df6eed88774a4197
[root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
f64441e51181 pengyudong/nginx:v2 "/usr/local/nginx/sb..." 7 秒前 7 秒前にアップ 0.0.0.0:80->80/tcp, :::80->80/tcp nginx
[root@localhost ~]# 

[root@localhost ~]# docker run --name mysql -dit --net=container:f64441e51181 pengyudong/mysql:v1
96530de34b37a5fc6af1564df64f423321b04641f6aea5a3dd5be199f02a8510
[root@localhost ~]# docker run --name php8 -dit --net=container:f64441e51181 pengyudong/php8:v2
27834149fc66f007ba1cca5d298351d39f7d819af3f1ec6fcf8e12bbdc39fb4d
[root@localhost ~]# 
[root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
27834149fc66 pengyudong/php8:v2 "/bin/bash /scripts/..." 29秒前 28秒前 php8
96530de34b37 pengyudong/mysql:v1 "/scripts/start.sh" 約 1 分前 約 1 分前 mysql
f64441e51181 pengyudong/nginx:v2 "/usr/local/nginx/sb..." 2 分前 2 分前にアップ 0.0.0.0:80->80/tcp, :::80->80/tcp nginx
[root@localhost ~]# docker exec -it nginx /bin/bash
[root@f64441e51181 /]# ss -antl
状態 受信Q 送信Q ローカルアドレス:ポート ピアアドレス:ポート プロセス      
聞く 0 128 127.0.0.1:9000 0.0.0.0:*                      
聞く 0 128 0.0.0.0:80 0.0.0.0:*                      
聞く 0 80 *:3306 *:*                      
[ルート@f64441e51181 /]# 

ここに画像の説明を挿入
ここに画像の説明を挿入

これで、docker コンテナを使用したランプ アーキテクチャの構築に関するこの記事は終了です。docker を使用したランプの構築に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerを使用してMacにランプ環境を構築する
  • Dockerで構築されたランプアプリケーションの例の詳細な説明
  • Dockerを使用してLAMPオペレーティング環境を構築するための詳細なチュートリアル

<<:  CSS 複合セレクタの具体的な使用法

>>:  CSS3 テキストシャドウ text-shadow プロパティの詳細な説明

推薦する

Ubuntu 18.04 が VMware 仮想マシンでネットワークに接続できない問題の解決策

仮想マシン内のUbuntu 18.04がネットワークに接続できない問題の解決策は次のとおりですVMw...

MySQL 8.0.15 のインストールと設定方法のグラフィック チュートリアル (Windows 10 X64)

最近私が学んでいるのは MySQL の知識なので、MySQL をインストールすることが非常に重要です...

JavaScriptはキュー構造プロセスを実現する

目次1. キューを理解する2. カプセル化キュー3. 太鼓をたたいて花を渡す場合1. キューを理解す...

Vue の詳細な入門ノート

目次1. はじめに2. 初期ビュー(I) Vueの概念を理解する(II) MVVMアーキテクチャ(I...

時間を節約できる Linux コマンド エイリアス 15 個

序文Linux システムの管理と保守のプロセスでは、多数のコマンドが使用されます。非常に長いコマンド...

Web デザイン TabIndex 要素

TabIndex は、Tab キーを押して、定義された TabIndex 要素を順番に取得し、各要素...

ブラウザでのjsのイベントループイベントキューの詳細な説明

目次序文スタックと2つのキューを理解する実行プロセス簡単な例より難しい例要約する序文以下の内容はブラ...

Nginx 転送ソケットポート設定の詳細な説明

Nginx によるソケット ポート転送の一般的なシナリオ: オンライン学習アプリケーションでは、通常...

Reactでpropsを使用する方法と制限する方法

コンポーネントの props (props はオブジェクトです)機能: コンポーネントに渡されたデー...

Vueはシンプルなショッピングカートの例を実装します

この記事では、参考までに、Vue の具体的なコードを共有して、簡単なショッピングカートを実装します。...

MySQL における楽観的ロックと悲観的ロックの例

データベース管理システムにおける同時実行制御のタスクは、データベース内の同じデータに同時にアクセスす...

システム外のフォント参照とトランジション効果

コードをコピーコードは次のとおりです。 <span style="font-fami...

JavaScript の setTimeout と setTimeinterval の使用例の説明

どちらの方法も、一定時間後に JavaScript コードを実行するために使用できますが、それぞれに...

MySQLのデッドロックとログに関する詳細な説明

最近、MySQL オンラインでいくつかのデータ異常が発生しましたが、すべて早朝に発生しました。ビジネ...

雨滴効果を実現する JavaScript キャンバス

この記事の例では、雨滴効果を実現するためのキャンバスの具体的なコードを参考までに共有しています。具体...