Docker を使ってポート 8080 で NGINX コンテナのポートバインディングを設定する方法

DockerDockerBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このチュートリアルでは、Docker を使用してポート 8080 で NGINX コンテナのポートバインディングを構成するプロセスを探ります。このガイドの最後まで読むと、NGINX コンテナのデプロイメントの設定と検証方法が明確に理解できるようになります。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker(("Docker")) -.-> docker/DockerfileGroup(["Dockerfile"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/start("Start Container") docker/ContainerOperationsGroup -.-> docker/stop("Stop Container") docker/ContainerOperationsGroup -.-> docker/port("List Container Ports") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/ImageOperationsGroup -.-> docker/images("List Images") docker/DockerfileGroup -.-> docker/build("Build Image from Dockerfile") subgraph Lab Skills docker/run -.-> lab-416178{{"Docker を使ってポート 8080 で NGINX コンテナのポートバインディングを設定する方法"}} docker/ls -.-> lab-416178{{"Docker を使ってポート 8080 で NGINX コンテナのポートバインディングを設定する方法"}} docker/ps -.-> lab-416178{{"Docker を使ってポート 8080 で NGINX コンテナのポートバインディングを設定する方法"}} docker/start -.-> lab-416178{{"Docker を使ってポート 8080 で NGINX コンテナのポートバインディングを設定する方法"}} docker/stop -.-> lab-416178{{"Docker を使ってポート 8080 で NGINX コンテナのポートバインディングを設定する方法"}} docker/port -.-> lab-416178{{"Docker を使ってポート 8080 で NGINX コンテナのポートバインディングを設定する方法"}} docker/pull -.-> lab-416178{{"Docker を使ってポート 8080 で NGINX コンテナのポートバインディングを設定する方法"}} docker/images -.-> lab-416178{{"Docker を使ってポート 8080 で NGINX コンテナのポートバインディングを設定する方法"}} docker/build -.-> lab-416178{{"Docker を使ってポート 8080 で NGINX コンテナのポートバインディングを設定する方法"}} end

Docker と NGINX の紹介

Docker は、開発者がコンテナ化された環境でアプリケーションを構築、デプロイ、実行できるようにする人気のオープンソースプラットフォームです。一方、NGINX は高性能なウェブサーバーおよびリバースプロキシで、ロードバランシング、キャッシュ、静的コンテンツの配信に広く使用されています。

Docker とは何か?

Docker は、開発者がアプリケーションとその依存関係を単一のポータブルなコンテナにパッケージ化できるコンテナ化プラットフォームです。このコンテナは、Docker がインストールされた任意のシステムで、基盤となるオペレーティングシステムやインフラストラクチャに関係なく、簡単にデプロイして実行できます。

NGINX とは何か?

NGINX は、高性能、スケーラビリティ、柔軟性で知られる強力で多機能なウェブサーバーです。一般的にリバースプロキシ、ロードバランサー、コンテンツキャッシュサーバーとして使用され、他のウェブサーバーやアプリケーションサーバーの前に配置されて、着信要求を処理することが多いです。

なぜ Docker で NGINX を使用するのか?

Docker と NGINX を組み合わせることで、ウェブアプリケーションのデプロイと管理に強力なソリューションを提供できます。NGINX を Docker コンテナで実行することで、NGINX の性能と柔軟性を生かしながら、ウェブアプリケーションを異なる環境で簡単にスケール、管理、デプロイできます。

graph LR A[Client] --> B[NGINX Container] B --> C[Application Container] C --> D[Database Container]

Docker と NGINX のインストール

始めるには、システムに Docker をインストールする必要があります。Ubuntu 22.04 に Docker をインストールするには、次のコマンドを使用します。

sudo apt-get update
sudo apt-get install -y docker.io

Docker がインストールされたら、Docker Hub レジストリから NGINX Docker イメージを取得できます。

docker pull nginx

これで、NGINX コンテナの構成とポートバインディングの設定を開始する準備が整いました。

NGINX コンテナのポートバインディングの構成

NGINX コンテナのポートバインディングを構成するには、Docker コンテナを実行する際に -p または --publish フラグを使用できます。このフラグを使用すると、ホストシステムのポートをコンテナ内のポートにマッピングできます。

ポートバインディングを伴う NGINX コンテナの実行

NGINX コンテナを実行し、ホストシステムのポート 8080 にバインドするには、次のコマンドを使用できます。

docker run -d -p 8080:80 --name my-nginx nginx

このコマンドでは:

  • -d:コンテナをデタッチドモードで実行します。つまり、バックグラウンドで実行されます。
  • -p 8080:80:ホストシステムのポート 8080 をコンテナ内のポート 80 にマッピングします。
  • --name my-nginx:コンテナに "my-nginx" という名前を割り当てます。
  • nginx:使用する NGINX Docker イメージを指定します。

ポートバインディングの検証

実行中のコンテナを確認し、ウェブブラウザから NGINX ウェブサーバーにアクセスすることで、ポートバインディングが正しく機能していることを検証できます。

実行中のコンテナを一覧表示するには、次のコマンドを使用します。

docker ps

これにより、ポートマッピング情報とともに、先ほど作成した NGINX コンテナが表示されるはずです。

NGINX ウェブサーバーにアクセスするには、ウェブブラウザを開き、http://localhost:8080 にアクセスします。デフォルトの NGINX ウェルカムページが表示されるはずです。

graph LR A[Host System] -- Port 8080 --> B[NGINX Container] B -- Port 80 --> C[NGINX Web Server]

ポートバインディングを構成することで、ホストシステムから Docker コンテナ内で実行されている NGINX ウェブサーバーにアクセスできるようになります。

NGINX コンテナのセットアップの検証

NGINX コンテナが正しくセットアップされていることを検証するには、次の手順を実行できます。

実行中のコンテナを確認する

まず、docker ps コマンドを使用してシステム上で実行中のコンテナを一覧表示できます。

docker ps

これにより、先ほど作成した NGINX コンテナとポートマッピング情報が表示されるはずです。

NGINX ウェブサーバーにアクセスする

次に、ウェブブラウザを開き、http://localhost:8080 にアクセスすることで、NGINX ウェブサーバーにアクセスできます。デフォルトの NGINX ウェルカムページが表示されるはずです。

NGINX のログを確認する

NGINX コンテナのログを確認して、問題なく実行されていることを確認することもできます。ログを表示するには、次のコマンドを使用します。

docker logs my-nginx

これにより、NGINX サーバーのログが表示され、問題のトラブルシューティングに利用できます。

コンテナを調査する

NGINX コンテナに関するより詳細な情報が必要な場合は、docker inspect コマンドを使用できます。

docker inspect my-nginx

これにより、コンテナの設定、ネットワーク設定、リソース使用状況など、コンテナに関するさまざまな詳細が JSON 形式で出力されます。

これらの手順に従うことで、NGINX コンテナが正しくセットアップされ、ホストシステムからアクセスできることを検証できます。

graph LR A[Host System] -- Access NGINX --> B[NGINX Container] B -- Check Logs --> C[NGINX Logs] B -- Inspect Container --> D[Container Details]

まとめ

このチュートリアルでは、Docker を使用してポート 8080 で NGINX コンテナのポートバインディングを構成する方法について包括的なガイドを提供しました。NGINX コンテナをセットアップし、そのデプロイが成功したことを検証する手順を学びました。この知識を活用して、Docker ベースのインフラストラクチャで自信を持って NGINX コンテナを管理およびデプロイできるようになりました。