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 プロパティの詳細な説明

推薦する

Dockerを使用してSonarQubeをインストールする詳細なチュートリアル

目次1. イメージをプルする1.1 関連するイメージをプルして実行する1.1.1 関連する画像を取得...

CSS を使用して適応型の幅と高さを持つ 16:9 の長方形を実装する例

先ほど、適応幅と高さが1:1の正方形を作成する方法について説明しました。 https://www.j...

JavaScript でのカスタム スワイパー コンポーネントの詳細な説明

目次エフェクト表示コンポーネント設定ステップ1ステップ2ステップ3コンポーネントの使用ステップ1ステ...

Node.js+expressメッセージボード機能実装例

目次メッセージボード必要なライブラリオープンソースプロジェクトプロジェクト構造メッセージボードnod...

Vue.js を学ぶ際に遭遇する落とし穴

目次クラス void のポイントES6 矢印関数ヴュートファイvue-cli非同期と同期実行と展開ヒ...

Windows7 での Mysql5.7 my.ini ファイルの読み込みパスとデータの場所の変更方法

更新: MySQL の公式 Web サイトにアクセスして MySQL インストーラーをインストールし...

Nginx と Lua を使用した JWT 検証の概要

目次序文Lua スクリプトnignx.conf の設定Dockerfileの設定序文データベースやそ...

JavaScript JSON.stringify() の使用法の概要

目次1. 使用方法1. 基本的な使い方2. 2番目のパラメータ - フィルター3. 3番目のパラメー...

MySQLの文字列インターセプト関連関数の概要

この記事では、MySQL の文字列インターセプト関連の機能を紹介します。具体的な内容は以下のとおりで...

nginxリバースプロキシを介したデバッグコードの実装

背景現在、会社のプロジェクトは、フロントエンドとバックエンドが分離された方法で開発されています。新し...

HTML テーブル マークアップ チュートリアル (38): ヘッダーの境界線の色属性 BORDERCOLOR

テーブルを美しくするために、ヘッダーに異なる境界線の色を設定できます。基本的な構文<TH 境界...

Vueのwatch、computed、methodsの違いのまとめ

目次1 はじめに2 基本的な使い方2.1 方法2.2 計算プロパティ2.3 リスナーを見る3 3つの...

URL 書き換えモジュール 2.1 URL 書き換えモジュールのルール記述

目次前提条件テストページの設定書き換えルールの作成命名規則モードの定義アクションの定義設定ファイル内...

MySQL コマンドライン操作中のエンコードの問題の詳細な説明

1. MySQLデータベースのエンコーディングを確認する mysql -u ユーザー名 -p パスワ...

CSS 前景と背景の自動カラーマッチング技術の紹介 (デモ)

1. カラーマッチング効果のプレビュー下の GIF に示すように、ボタンの背景色が徐々に薄くなると...