Docker で lnmp をデプロイする詳細な手順

Docker で lnmp をデプロイする詳細な手順

Centosイメージを取得する

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

//イメージを表示 [root@localhost ~]# docker images
リポジトリ タグ イメージ ID 作成 サイズ
centos 最新 5d0da3dc9764 2か月前 231MB

Centos ベースの nginx コンテナを生成する

//イメージを使用してコンテナを起動し、コンテナに入ります [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 which make wget
[root@c193fcb41eae /]# yum -y groups mark install '開発ツール'

//ユーザーとグループを作成する [root@c193fcb41eae /]# useradd -r -M -s /sbin/nologin nginx

//ログ保存ディレクトリを作成する [root@c193fcb41eae /]# mkdir -p /var/log/nginx
[root@c193fcb41eae /]# chown -R nginx.nginx /var/log/nginx

//インストールパッケージをダウンロードして解凍します [root@c193fcb41eae /]# cd /usr/src/
[root@c193fcb41eae src]# wget http://nginx.org/download/nginx-1.21.4.tar.gz
[root@c193fcb41eae src]# ls
デバッグカーネル nginx-1.21.4.tar.gz
[root@c193fcb41eae src]# tar xf nginx-1.21.4.tar.gz 

//コンパイルしてインストール [root@c193fcb41eae src]# cd nginx-1.21.4
[root@c193fcb41eae nginx-1.21.4]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--デバッグあり\
--http_ssl_module \ で始まる
--http_realip_module \ で始まる
--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@c193fcb41eae nginx-1.21.4]# make -j $(grep 'プロセッサ' /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]# どのnginx
ローカル

[root@localhost ~]# docker exec -it nginx05 /bin/bash
[root@c193fcb41eae /]# ss -antl
状態 受信Q 送信Q ローカルアドレス:ポート ピアアドレス:ポート              
聞く 0 128 *:80 

[root@c193fcb41eae /]# vi /usr/local/nginx/conf/nginx.conf
......
        位置 / {
            ルートhtml;
            index index.php index.html index.htm; #45行目にindex.phpを追加
        }
......
        #location ~ .php$ (65~71) の中括弧の前の行のコメントを解除 location ~ \.php$ {
            root /var/www/html; #php テスト ページ ディレクトリ fastcgi_pass 127.0.0.1:9000; #作業中は、これを PHP サーバーのアドレスに変更する必要があります fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #/scriptを$document_rootに変更
            fastcgi_params を含めます。
        }
        ......
daemon off; #フォアグラウンドで実行#ルートディレクトリにstart.shを作成
[root@c193fcb41eae /]# cat >> start.sh <<EOF
#!/bin/bash
ローカル
終了

[ctrl]+q+p コンテナを終了します [root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
c193fcb41eae 1314444/source_nginx:nginx-1.21.4 "/bin/bash" 24 時間前 30 分前にアップ nginx05

CentOS ベースの MySQL コンテナを生成する

//mysqlイメージを作成し、コンテナモードネットワークを使用する [root@localhost ~]# docker run -it --name mysql01 --network container:nginx05 centos:latest /bin/bash
[root@3367881fd446 /]# # ローカルイメージ centos を起動し、そこに MySQL をインストールします --network container:nginx05 (共有ネットワークとして nginx05 コンテナ ID を使用します)

//ターミナルを再度開き、mysql パッケージを表示してアップロードします [root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
466e7f22d1f3 centos:latest "/bin/bash" 11 秒前 10 秒前 mysql01 # mysql コンテナが実行中です c193fcb41eae 1314444/source_nginx:nginx-1.21.4 "/usr/local/nginx/sb…" 9 時間前 34 分前 0.0.0.0:8080->80/tcp, :::8080->80/tcp nginx05

#mysql コンテナが実行中です。ここにコード スニペットを挿入します [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

//MySQLコンテナの下を表示 [root@c193fcb41eae /]# ls /usr/src/
デバッグカーネル mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

////ユーザーとグループを作成する [root@c193fcb41eae /]# useradd -r -M -s /sbin/nologin mysql
[root@c193fcb41eae /]# id mysql
uid=998(mysql) gid=996(mysql) グループ=996(mysql)

//環境をクリーンアップし、依存パッケージをインストールします [root@c193fcb41eae /]# yum clean all
[root@c193fcb41eae /]# yum -y インストール ncurses-devel openssl-devel openssl cmake mariadb-devel ncurses-compat-libs which numactl libaio

//[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 などのゲームには、lib lib64 libexec mysql-5.7.34-linux-glibc2.12-x86_64 sbin share src が含まれます

//ソフトリンクを作成 [root@c193fcb41eae src]# cd /usr/local/
[root@c193fcb41eae ローカル]# ln -s mysql-5.7.34-linux-glibc2.12-x86_64 mysql
[root@c193fcb41eae ローカル]# ls -l
合計 0
drwxr-xr-x 2 ルート ルート 6 2020年11月3日 bin
drwxr-xr-x 2 ルート ルート 6 2020年11月3日 など
drwxr-xr-x 2 ルート ルート 6 11月 3 2020 ゲーム
drwxr-xr-x 2 ルート ルート 6 11月 3 2020 含む
drwxr-xr-x 2 ルート ルート 6 2020年11月3日 lib
drwxr-xr-x 3 ルート ルート 17 9月 15 14:17 lib64
drwxr-xr-x 2 ルート ルート 6 2020年11月3日 libexec
lrwxrwxrwx 1 ルート ルート 35 12月 3 16:18 mysql -> mysql-5.7.34-linux-glibc2.12-x86_64
drwxr-xr-x 9 ルート ルート 129 12月 3日 16:17 mysql-5.7.34-linux-glibc2.12-x86_64
drwxr-xr-x 2 ルート ルート 6 2020年11月3日 sbin
drwxr-xr-x 5 ルート ルート 49 9月 15 14:17 シェア
drwxr-xr-x 2 ルート ルート 6 2020年11月3日 src

//所有者グループを変更する [root@c193fcb41eae local]# chown -R mysql.mysql /usr/local/mysql*
[root@c193fcb41eae ローカル]# ls -l
合計 0
drwxr-xr-x 2 ルート ルート 6 2020年11月3日 bin
drwxr-xr-x 2 ルート ルート 6 2020年11月3日など
drwxr-xr-x 2 ルート ルート 6 11月 3 2020 ゲーム
drwxr-xr-x 2 ルート ルート 6 11月 3 2020 含む
drwxr-xr-x 2 ルート ルート 6 2020年11月3日 lib
drwxr-xr-x 3 ルート ルート 17 9月 15 14:17 lib64
drwxr-xr-x 2 ルート ルート 6 2020年11月3日 libexec
lrwxrwxrwx 1 mysql mysql 35 12月 3 16:18 mysql -> mysql-5.7.34-linux-glibc2.12-x86_64
drwxr-xr-x 9 mysql mysql 129 12月 3日 16:17 mysql-5.7.34-linux-glibc2.12-x86_64
drwxr-xr-x 2 ルート ルート 6 2020年11月3日 sbin
drwxr-xr-x 5 ルート ルート 49 9月 15 14:17 シェア
drwxr-xr-x 2 ルート ルート 6 2020年11月3日 src

//環境変数を追加 [root@c193fcb41eae local]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@c193fcb41eae ローカル]# ソース /etc/profile.d/mysql.sh
[root@c193fcb41eae ローカル]# どのmysql
ローカルのmysqlディレクトリ

//ヘッダーファイル(インクルード)、ライブラリの読み取り
[root@c193fcb41eae ローカル]# ln -s /usr/local/mysql/include/ /usr/local/include/mysql
[root@c193fcb41eae local]# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
[root@c193fcb41eae ローカル]# ldconfig

//データ保存ディレクトリを作成 [root@c193fcb41eae local]# mkdir -p /opt/data
[root@c193fcb41eae ローカル]# chown -R mysql.mysql /opt/data/
[root@c193fcb41eae ローカル]# ls -l /opt/data/
合計 0

//データベースを初期化します [root@c193fcb41eae local]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/opt/data
2021-12-03T16:29:44.502079Z 0 [警告] 暗黙の DEFAULT 値を持つ TIMESTAMP は非推奨です。--explicit_defaults_for_timestamp サーバー オプションを使用してください (詳細についてはドキュメントを参照してください)。
2021-12-03T16:29:44.673278Z 0 [警告] InnoDB: 新しいログファイルが作成されました、LSN=45790
2021-12-03T16:29:44.703121Z 0 [警告] InnoDB: 外部キー制約システム テーブルを作成しています。
2021-12-03T16:29:44.759550Z 0 [警告] 既存の UUID が見つからなかったため、このサーバーが初めて起動されたと想定します。新しい UUID を生成しています: 395770aa-5456-11ec-a2ae-0242ac110003。
2021-12-03T16:29:44.761730Z 0 [警告] Gtid テーブルは使用準備ができていません。テーブル 'mysql.gtid_executed' を開くことができません。
2021-12-03T16:29:45.276899Z 0 [警告] CA 証明書 ca.pem は自己署名されています。
2021-12-03T16:29:45.631478Z 1 [警告] root@localhost が空のパスワードで作成されました。--initialize-insecure オプションをオフにすることを検討してください。

//設定ファイルを生成 [root@c193fcb41eae local]# cat > /etc/my.cnf <<EOF
[mysqld]
ベースディレクトリ = /usr/local/mysql
データディレクトリ = /opt/data
ソケット = /tmp/mysql.sock
ポート = 3306
pid ファイル = /opt/data/mysql.pid
ユーザー = mysql
名前解決をスキップ
終了

//[root@c193fcb41eae local]# sed -ri 's#^(basedir=).*#\1/usr/local/mysql#g' /usr/local/mysql/support-files/mysql.server を変更します
[root@c193fcb41eae local]# sed -ri 's#^(datadir=).*#\1/opt/data#g​​' /usr/local/mysql/support-files/mysql.server
[root@c193fcb41eae ローカル]# ss -antl
状態 受信Q 送信Q ローカルアドレス:ポート ピアアドレス:ポート プロセス            
聞く 0 128 0.0.0.0:80 0.0.0.0:*                                 

// [root@c193fcb41eae local]# /usr/local/mysql/support-files/mysql.server start を起動します
MySQL を起動しています。'/opt/data/c193fcb41eae.err' にログを記録しています。
 成功! 
[root@c193fcb41eae ローカル]# ss -antl
状態 受信Q 送信Q ローカルアドレス:ポート ピアアドレス:ポート プロセス            
聞く 0 128 0.0.0.0:80 0.0.0.0:*                                 
聞く 0 80 *:3306 *:*  

//パスワードを変更する [root@c193fcb41eae local]# mysql
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは2です
サーバーバージョン: 5.7.34 MySQL コミュニティサーバー (GPL)

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

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

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

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

mysql>終了
さよなら

//ログインをテスト [root@c193fcb41eae local]# mysql -uroot -p123456
mysql: [警告] コマンドライン インターフェイスでパスワードを使用すると安全でない可能性があります。
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは3です
サーバーバージョン: 5.7.34 MySQL コミュニティサーバー (GPL)

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

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

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

mysql>終了
さよなら

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

mysql5.7を初期化すると、次のエラーが報告されます

共有ライブラリのロード中にエラーが発生しました: libnuma.so.1: 共有オブジェクトファイルを開けません: そのようなファイルまたはディレクトリはありません

//解決策: yum -y install numactl libaio

CentOS ベースの PHP コンテナを生成する

// ネットワークを共有するために PHP コンテナと nginx を実行します [root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
466e7f22d1f3 centos:latest "/bin/bash" 52 分前 3 分前 mysql01
c193fcb41eae 1314444/source_nginx:nginx-1.21.4 "/usr/local/nginx/sb…" 10 時間前 約 1 時間前 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 # ローカルイメージ centos を起動し、そこに php をインストールします --network container:nginx05 (共有ネットワークとして nginx05 コンテナ ID を使用します)
[ルート@c193fcb41eae /]# 

// 実行中のコンテナを確認するためにターミナルを再度開きます [root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
22ce0738d9d7 centos:latest "/bin/bash" 28 秒前 27 秒前 php8
466e7f22d1f3 centos:latest "/bin/bash" 54 分前 5 分前 mysql01
c193fcb41eae 1314444/source_nginx:nginx-1.21.4 "/usr/local/nginx/sb…" 10 時間前 約 1 時間前 0.0.0.0:8080->80/tcp, :::8080->80/tcp nginx05

//環境をクリーンアップし、epel ソースをインストールします [root@c193fcb41eae /]# yum clean all
[root@c193fcb41eae /]# yum -y をインストール epel-release

//依存パッケージをインストールします [root@c193fcb41eae /]# yum install 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 インストール http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/oniguruma-devel-6.8.2-2.el8.x86_64.rpm

// 別のターミナルを開いて、PHP パッケージをコンテナにアップロードします [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/

//[root@c193fcb41eae /]を解凍# ls /usr/src/
デバッグカーネル 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 ローカル]# ls
bin 等ゲームには lib lib64 libexec php-8.0.11 sbin share src が含まれます

//コンパイルしてインストール [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 \
--openssl \ で
--enable-bcmath \
--アイコン付き\
--with-bz2 \
--enable-calendar \
--curl \ で
--enable-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 \
--enable-sockets \
--zip \ で
--enable-mysqlnd-compression-support \
--梨付き\
--enable-pcntl \
--enable-posix &&
作成 && インストール

//環境変数を追加 [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]# ソース /etc/profile.d/php.sh
[root@c193fcb41eae php-8.0.11]# どのphp
php8 のbinディレクトリにphpファイルがあります。

//php-fpm ファイルを設定する [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 /]# cat > /var/www/html/index.php <<EOF
<?php
   phpinfo();
?>
終了

[root@c193fcb41eae /]# vi /usr/local/php8/etc/php-fpm.conf
daemonize = no #コメントを解除して daemonize = no に設定し、PHP をフォアグラウンドで実行できるようにします [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
状態 受信Q 送信Q ローカルアドレス:ポート ピアアドレス:ポート プロセス            
聞く 0 128 0.0.0.0:80 0.0.0.0:*                                 
聞く 0 128 127.0.0.1:9000 0.0.0.0:*                                 
聞く 0 80 *:3306 *:* 

//php 起動スクリプト [root@c193fcb41eae /]# vi /start.sh
#!/bin/bash
php-fpm は、/usr/local/php8/sbin/php-fpm にあります。
[root@c193fcb41eae /]# chmod +x /start.sh 


[root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
22ce0738d9d7 centos:latest "/bin/bash" 46 分前 46 分前 php8
466e7f22d1f3 centos:latest "/bin/bash" 2 時間前 51 分前 mysql01
c193fcb41eae 1314444/source_nginx:nginx-1.21.4 "/usr/local/nginx/sb…" 11 時間前 2 時間前にアップ 0.0.0.0:8080->80/tcp, :::8080->80/tcp nginx05

ここに画像の説明を挿入

画像を作成する

[root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
b8aff1ca0d45 centos:latest "./start.sh" 4秒前 3秒前 php8
cb81cdc671e4 centos:latest "./start.sh" 8 分前 8 分前 mysql01
c193fcb41eae nginx: 最新の "/usr/local/nginx/sb..." 11 分前 11 分前にアップ 0.0.0.0:8080->80/tcp、:::8080->80/tcp nginx05

//nginx イメージを作成 [root@localhost ~]# docker commit -a ' hhr [email protected]' -c 'CMD ["/usr/local/nginx/sbin/nginx"]' nginx05 1314444/lnmp:nginx-v0.1
sha256:ae3a6692a4c0c3a615bdf08ad2941a8526c0acda2b6b6b21dfb625407280ac25

//mysql イメージを作成 [root@localhost ~]# docker commit -a ' hhr [email protected]' -c 'CMD ["./start.sh"]' mysql01 1314444/lnmp:mysql-v0.1
sha256:ff7d2b91b948baf5ecde42ad6783d80b00fb4c18bc3edc3e9d907f2a7b0e8b96

//php イメージを作成 [root@localhost ~]# docker commit -a ' hhr [email protected]' -c 'CMD ["./start.sh"]' php8 1314444/lnmp:php8-v0.1
sha256:359cf3ac83b0faea8d17fa4ba7eb3ed149b4ab68b8f625ed20e049d73a2c78ee

[root@localhost ~]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
1314444/lnmp php8-v0.1 359cf3ac83b0 7秒前 1.56GB
1314444/lnmp mysql-v0.1 ff7d2b91b948 4分前 3.81GB
1314444/lnmp nginx-v0.1 ae3a6692a4c0 7分前 551MB
centos 最新 5d0da3dc9764 2か月前 231MB

新しいイメージでlnmpコンテナを作成する

//nginxコンテナを起動します [root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名

[root@localhost ~]# docker run -d --name nginx -p 80:80 1314444/lnmp:nginx-v0.1
fad400d5145fea77e336200b915fd2321a9ee3c14d0bf8ecb9fe112f8e2b9106
[root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
a5346a4eb92b ae3a6692a4c0 "./start.sh" 10 秒前 9 秒前に起動 0.0.0.0:80->80/tcp、:::80->80/tcp nginx

[root@localhost ~]# docker exec -it nginx /bin/bash
[root@a5346a4eb92b /]# ss -anlt
状態 受信Q 送信Q ローカルアドレス:ポート ピアアドレス:ポート プロセス            
聞く 0 128 0.0.0.0:80 0.0.0.0:* 
 

//mysqlコンテナを起動します [root@localhost ~]# docker run -d --name mysql --network container:fad400d5145f 1314444/lnmp:mysql-v0.1
cb81cdc671e4c266ea9d1537367ab509e1c50a9c29d6741fed632ee6c3ad1ddb
   
[root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
861eabb3a5b7 ff7d2b91b948 "./start.sh" 35秒前 34秒前 mysql
a5346a4eb92b ae3a6692a4c0 "./start.sh" 7 分前 7 分前にアップ 0.0.0.0:80->80/tcp, :::80->80/tcp nginx

[root@localhost ~]# docker exec -it mysql /bin/bash
[root@a5346a4eb92b /]# ss -antl
状態 受信Q 送信Q ローカルアドレス:ポート ピアアドレス:ポート プロセス  
聞く 0 128 0.0.0.0:80 0.0.0.0:*              
聞く 0 80 *:3306 *:*        



//phpコンテナを起動します [root@localhost ~]# docker run -d --name php --network container:fad400d5145f 1314444/lnmp:php-v0.1
b8aff1ca0d45033ed1f20071d98678573edec8c6c9c521fc7ddf024b01c0d0f9

[root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
b8aff1ca0d45 1314444/lnmp:php-v0.1 "./start.sh" 4秒前 3秒前 php
cb81cdc671e4 1314444/lnmp:mysql-v0.1 "./start.sh" 8 分前 8 分前 mysql
fad400d5145f 0229f7e8313f "./start.sh" 11 分前 11 分前にアップ 0.0.0.0:80->80/tcp, :::80->80/tcp nginx

[root@localhost ~]# docker exec -it php /bin/bash
[root@fad400d5145f /]# ss -anlt
状態 受信Q 送信Q ローカルアドレス:ポート ピアアドレス:ポート プロセス             
聞く 0 128 0.0.0.0:80 0.0.0.0:*                                    
聞く 0 128 127.0.0.1:9000 0.0.0.0:*                                    
聞く 0 80 *:3306 *:*  

テスト

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

これで、Docker で lnmp を展開する詳細な手順に関するこの記事は終了です。Docker での lnmp の展開に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • DockerでLNMPアーキテクチャを展開する方法
  • dockerでlnmp環境を構築する方法
  • Dockerを使用してLNMP環境を構築する詳細な説明

<<:  Vue の get リクエストと post リクエストの違いのまとめ

>>:  ElementUIカスタムCSSスタイルが有効にならない問題を解決する

推薦する

MySQLは集計関数を使用して単一のテーブルをクエリします

集計関数データセットに作用し、そのデータセットの値を返します。 count: 統計結果のレコード数。...

Axios はリクエストをキャンセルし、重複リクエストを回避します

目次起源現状リクエストをキャンセル cancelTokenリクエスト方法の変更重複したリクエストを避...

WHMCS V7.4.2 グラフィカル インストール チュートリアル

1. はじめにWHMCS は、ユーザー管理、請求書の支払い、ヘルプ サービスなど、オンライン ビジネ...

Linux で Redis のリモート接続を実装する方法

LinuxにRedisをインストールしたら、Javaを使って接続します。Javaコードは次のとおりで...

Linux でショートカットアイコンを設定する方法

序文Linux でショートカットを作成すると、アプリケーションをより速く開くことができます。ここで、...

Mac での MySQL と Squel Pro の設定

Node.js の人気に応えて、最近、いくつかのサーバー側機能を実装するために Node.js を使...

Centos8 で Docker を使用して Django プロジェクトをデプロイする詳細なチュートリアル

導入この記事では、django + uwsgi + nginx デプロイメントを使用して、Docke...

ボタンと入力タイプの違いと注意点

<button> タグ<br />定義と使用法<button> ...

JavaScript配列をツリー構造に変換する方法

1. 需要バックエンドは、フロントエンドがツリー構造(重複データなし)に変換するためのデータを提供し...

Dockerの匿名マウントと名前付きマウントの具体的な使用法

目次データ量匿名マウントと名前付きマウントデータボリュームの場所データ量匿名マウントと名前付きマウン...

React のグローバル状態管理の 3 つの基本メカニズムの調査

目次序文小道具コンテクスト州要約する序文最新のフロントエンド フレームワークはすべて、コンポーネント...

Docker を使用して開発環境を構築する方法 (Windows および Mac)

目次1. Dockerを使用する利点2. Dockerをインストールする1) LinuxにDocke...

MySQL をベースにしたシンプルな検索エンジンを実装する

目次MySQL ベースの検索エンジンの実装1. ngram全文パーサー2. 全文インデックスを作成す...

CSS はモバイル互換性の問題を解決するために 0.5px の線を実装します (推奨)

【コンテンツ】: 1.背景画像のグラデーションスタイルを使用する2. スケールを使ってズームできる...

Webpack での publicPath の使用法の詳細な説明

目次出力出力パス出力.publicPath webpack-dev-server の publicP...