クラウド コンピューティング テクノロジの継続的な開発により、Docker コンテナ化テクノロジは、最新のクラウド コンピューティングで最も人気のあるテクノロジの 1 つになりました。 Docker コンテナは、アプリケーションを迅速に展開できるだけでなく、柔軟性と移植性も提供します。ただし、エンタープライズ レベルのアプリケーションの場合、ドメイン名をバインドすることが重要です。この記事では、Docker コンテナーでドメイン名をバインドする方法を紹介します。
1. ドメイン名のバインドとは何ですか?
Web アプリケーションをデプロイする場合は、ユーザーがアクセスしたときにアプリケーションが正しく配置されることを確認してください。この問題に対して、通常はドメイン名を使用してアプリケーションをサーバーにマッピングします。このプロセスは「ドメイン名バインディング」と呼ばれます。
Docker コンテナーでも、同じ方法を使用してドメイン名をバインドできます。以下は、Docker でドメイン名をバインドする 2 つの一般的な方法です。
2. Nginx をリバース プロキシとして使用する
Nginx は、人気のある Web サーバーおよびリバース プロキシ サーバーです。 Nginx は、その高いパフォーマンス、安定性、拡張性により、Web サーバーでの使用が増えています。
Nginx を使用して Docker コンテナーにドメイン名をバインドするには、以下の手順に従う必要があります。
ステップ 1: Nginx リバース プロキシ コンテナーを作成する
アプリケーション用の Nginx リバース プロキシ サービスを作成する必要があります。コンテナ内で次のコマンドを実行できます。
$ docker run -d -p 80:80 --name nginx-proxy jwilder/nginx-proxy
これにより、ポート 80 でリッスンする新しいコンテナーが Docker 内で実行されることに注意してください。
ステップ 2: アプリケーション コンテナを実行する
次に、Docker コンテナでアプリケーションを起動する必要があります。たとえば、Node.js アプリケーションをデプロイする場合は、次のコマンドを実行できます。
$ docker run -d -e VIRTUAL_HOST=example.com --name node-app node-app
この例では、アプリケーションは example.com ドメイン名にバインドされます。 VIRTUAL_HOST 環境変数は、jwilder/nginx-proxy コンテナを使用するために必須です。これにより、DNS リクエストが最終的に正しいコンテナに到達することが保証されます。
ステップ 3: DNS を構成する
最後に、リバース プロキシ コンテナーを指すように DNS を構成する必要があります。 DNS 構成には、Docker Swarm を使用するか、手動で DNS サーバーを構成できます。
これで、NGINX を使用して Docker コンテナーにドメイン名をバインドすることができました。
3. Docker の組み込みリンクを使用する
Docker には、コンテナー間で通信できる「リンク」と呼ばれる組み込みメカニズムがあります。この仕組みを利用することで、あるコンテナから別のコンテナのサービスにアクセスできるようになります。
「リンク」を使用して Docker コンテナ内のドメイン名をバインドするには、以下の手順に従う必要があります。
ステップ 1: アプリケーション コンテナを作成する
まず、Docker コンテナでアプリケーションを起動します。たとえば、Node.js アプリケーションをデプロイする場合は、次のコマンドを実行できます。
$ docker run -d --name node-app node-app
ステップ 2: リンクの作成
次に、同じ Docker ホスト上の他のコンテナ間にリンクを作成する必要があります。たとえば、Nginx リバース プロキシを使用したい場合は、次のコマンドを実行できます。
$ docker run -d -p 80:80 --link node-app:node-app --name nginx-proxy nginx-proxy
この例では、Nginx リバース プロキシ コンテナを Node.js コンテナにリンクします。
ステップ 3: DNS を構成する
最後に、リバース プロキシ コンテナーを指すように DNS を構成する必要があります。 DNS 構成には、Docker Swarm を使用するか、手動で DNS サーバーを構成できます。
これで、Docker コンテナ内のリンクを使用してドメイン名をバインドすることができました。
概要
この記事では、Docker コンテナーにドメイン名バインディングを実装する 2 つの一般的な方法について説明しました。 Nginx をリバース プロキシとして使用すると、より高度な機能が提供されますが、より複雑になるため、より深い理解が必要になります。ただし、Docker の組み込みリンクは、いくつかの基本的なコマンドを実行するだけで済む簡単な方法です。
どの方法を選択する場合でも、ドメイン名のバインドは、最新のエンタープライズ レベルのアプリケーションにとって重要です。この記事が皆さんにインスピレーションを与え、次の Docker プロジェクトに役立つことを願っています。
以上がDockerでドメイン名をバインドする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。