ホームページ > 運用・保守 > Nginx > dockerを使用してnginxが提供するWebサービスをインストールする方法

dockerを使用してnginxが提供するWebサービスをインストールする方法

PHPz
リリース: 2023-05-24 23:38:17
転載
1540 人が閲覧しました

1. イメージをプルする

docker pull コマンドはアプリケーション イメージをプルするために使用され、docker pull nginx コマンドは最新バージョンの nginx イメージをプルするために使用されます。以下は、イメージ取得プロセスの応答結果です:

# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
c229119241af: Pull complete 
2215908dc0a2: Pull complete 
08c3cb2073f1: Pull complete 
18f38162c0ce: Pull complete 
10e2168f148a: Pull complete 
c4ffe9532b5f: Pull complete 
Digest: sha256:2275af0f20d71b293916f1958f8497f987b8d8fd8113df54635f2a5915002bf1
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
ログイン後にコピー

上記から、nginx イメージが URL docker.io から取得されていることがわかります。

dockerimages コマンドを使用して、現在のオペレーティング システムにダウンロードされたイメージ ファイルを表示します。

# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
nginx         latest    12766a6745ee   33 hours ago   142MB
hello-world   latest    feb5d9fea6a5   6 months ago   13.3kB
ログイン後にコピー
  • REPOSITORY イメージ ウェアハウスとイメージ名。イメージ ウェアハウスが表示されない場合、デフォルトは docker.io

  • です。 ##TAG イメージのバージョンまたはマイルストーン ラベル。latest は最新バージョンを表します。

  • IMAGE ID イメージの一意の識別子

  • CREATEDこのイメージが作成された時刻

  • SIZE はイメージ ファイルのサイズを表します

  • ##2. イメージを実行してコンテナを開始します

スルー

docker run

このコマンドは、nginx-zimug というコンテナー名でコンテナーを開始します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;"># docker run -d --name nginx-zimug -p 80:80 nginx 81bb1211144bc0991a789f860458548643c60b5459466c14d0604be9a4ccbfd7</pre><div class="contentsignin">ログイン後にコピー</div></div>

  • -d

    は、コンテナがバックグラウンドで実行されていることを示します

  • --name

    コンテナーの名前を作成します。 Name

  • -p

    Port マッピング、形式は Host port:Container port です。上記の意味は次のとおりです。コンテナ内のポート 80 をマップする ホスト マシンのポート 80 に、外部アクセス サービスを提供します。最後のフィールドはイメージ名です。

  • ブラウザが HTTP プロトコルを通じてホストのポート 80 にアクセスする場合、ポート番号は省略できます。取得されたアクセス結果は以下の通りで、nginxサービスが正常に起動していることがわかります。

dockerを使用してnginxが提供するWebサービスをインストールする方法以下に示すように、

docker ps

を通じて実行中のコンテナを表示できます: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 81bb1211144b nginx &quot;/docker-entrypoint.…&quot; 11 minutes ago Up 11 minutes 0.0.0.0:80-&gt;80/tcp, :::80-&gt;80/tcp nginx-zimug</pre><div class="contentsignin">ログイン後にコピー</div></div>3. ファイル マッピング

まず、コンテナ内のファイルの内容を変更できることは明らかですが、

コンテナが再起動されると、コンテナに書き込まれたデータ ファイルと構成ファイルへの変更はすべて失われます

。したがって、コンテナの実行ステータスと実行結果を保存するには、コンテナ内のいくつかの重要なデータ ファイル、ログ ファイル、構成ファイルをホストにマッピングする必要があります。 nginx を例に挙げます。nginx には 3 つの重要なファイル ディレクトリがあります:

Web サイトのページが保存されるディレクトリnginx 設定ファイル ディレクトリ ログ ディレクトリ
コンテナ内のパスコンテナ内で自動的にホスト マッピング パスを定義します。
/usr/share/nginx/html /root/nginx /html
/etc/nginx/nginx.conf/root/nginx/conf/nginx .conf
#/var/log/nginx/root/nginx/logs
ホスト マシンに新しいファイル ディレクトリを作成します

mkdir -p  /root/nginx/logs  /root/nginx/html  /root/nginx/conf;
ログイン後にコピー

コンテナ内のファイルをホスト マシンにコピーします

nginx 構成をコピーしますファイルをホスト マシンにコピーします

docker cp nginx-zimug:/etc/nginx/nginx.conf /root/nginx/conf;
ログイン後にコピー

シミュレートされた HTML ファイルを HTML ディレクトリに配置します

次のファイルをindex.html として保存し、ホストの /root/ に配置しますnginx/html
ディレクトリ。マッピング関係があるため、実際にはコンテナの /usr/share/nginx/html ディレクトリに配置されます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=&quot;utf-8&quot;&gt; &lt;title&gt;使用docker搭建nginx web服务&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;h2&gt;访问成功&lt;/h2&gt; &lt;p&gt;厉害了!&lt;/p&gt; &lt;/body&gt; &lt;/html&gt;</pre><div class="contentsignin">ログイン後にコピー</div></div>4. コンテナ サービスを再度開始します

-v

パラメータはホスト ファイルとコンテナ内のファイル間のマッピング関係を表し、形式は # です。 ##-v ホスト ディレクトリ: コンテナ ファイル システム ディレクトリ 。新しいコンテナを開始します。コンテナの名前は nginx-prod

docker run -d -p 80:80 \
--name nginx-prod \
-v /root/nginx/html:/usr/share/nginx/html \
-v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /root/nginx/logs:/var/log/nginx  nginx
ログイン後にコピー
です。新しいコンテナを開始する前に、古い nginx-zimug コンテナを削除してください。古いコンテナが削除されていない場合、新しいコンテナのポートが古いコンテナのポートと競合します。次のコマンドを使用してコンテナを削除します。
docker stop nginx-zimug;
docker rm nginx-zimug;
ログイン後にコピー
上記の

docker run

コマンドを実行して、新しいコンテナを起動します。起動後、ブラウザからホストのポート80にアクセスすると、以下のような応答結果が得られ、nginxが正常にWebサービスを提供していることがわかります。

同時に、ホスト マシン上の nginx 構成を変更し、ランタイム ログ ファイルを表示できます。ホストとコンテナ内の構成ファイルの間にはマッピング関係があるため、構成ファイルを変更すると、コンテナ内で実行されている nginx サービスに影響します。 dockerを使用してnginxが提供するWebサービスをインストールする方法

以上がdockerを使用してnginxが提供するWebサービスをインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート