Dockerコンテナにドメイン名をバインドする方法
Dockerコンテナをドメインにバインドするには、次の方法があります
- Docker Composeを使う場合、Docker Composeファイル内でhostnameあるいはcontainer_nameフィールドを設定することで、コンテナのホスト名またはコンテナ名を設定できます。その後、ホスト側の/etc/hostsファイルでホスト名を必要なIPアドレスにマッピングできます。
- たとえば、Docker Composeファイルにコンテナを定義してドメイン名にバインド:
- services:
my_container:
image: my_image
hostname: my_domain.com - 次に、/etc/hostsファイルのホストにmy_domain.comを追加します。
- 127.0.0.1 my_domain.com
- Docker コマンドラインにて –hostname や –name パラメータを利用してコンテナの起動時にコンテナホスト名やコンテナ名を指定できます。その後、ホスト側の /etc/hosts にホスト名を必要な IP アドレスへマッピングします。
- たとえば、コマンドラインからコンテナを実行してドメインにバインドさせる:
- docker run -d –name my_container –hostname my_domain.com my_image
- 次に、/etc/hostsファイルのホストにmy_domain.comを追加します。
- 127.0.0.1 my_domain.com
- リバースプロキシの使用:Nginx や Apache などのリバースプロキシサーバーを利用して、ドメイン名を Docker コンテナの IP アドレスとポートに関連付けることができます。リバースプロキシの設定では、要求を適切な Docker コンテナに転送するように、仮想ホストまたはプロキシルールを設定できます。
- 例えば、Nginx 設定で逆プロキシの規則を設定する。
- server {
listen 80;
server_name my_domain.com;location / {
proxy_pass http://ホスト名:ポート番号;
}
} - 其中、container_ipとcontainer_portはDockerコンテナのIPアドレスとポート番号です。
いかなる方法でもDockerコンテナをドメイン名に束縛できます。どの方法を選択するかは、お客様のニーズと使用状況に依存します。