【Docker】Apache バーチャルホスト IP 指定

前回、Amazon linux2 Dockerコンテナへ名前ベースのバーチャルホストを設定しました。

しかし、指定する IPアドレス 部分を * にしているので実際にどのIPアドレスが使用されているか不明でした。
127.0.0.1 を指定すれば動作すると思ったのですが、動作しませんでした。dockerコンテナ内のIPアドレスなのでローカルホストのIPにはならないので当然ですね。

それでは、IPアドレスが分かれば、それを設定すれば良いと思い確認しました。

docker のIPアドレスの確認方法

結論から言うと、以下の方法でIPアドレスを確認しました。
dockerコンテナのIPアドレスを確認しました。
dockerコンテナ内ではなくローカルPCから実行して下さい。

・コマンド

docker inspect コンテナID

・結果一部抜粋
Json形式で表示されます。
正直、正確にどこがIPアドレスなのかは分かりませんが、IPアドレスっぽい部分がそうかなと思い、以下のIPを使います。
172.18.0.2 がIPアドレスのようです。

"Networks": {
                "05_apache_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "web",
                        "a2ffb1934b80"
                    ],
                    "NetworkID": "d7d3c5cfa5c0eaff04bbbc0fffea9b2d094c301063d974f99a2702d47a5ca17f",
                    "EndpointID": "e743e39c3e4ae4cb257479fde606a48fe9a1ca9e2f6c1745430716da8c7c0b2c",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:12:00:02",
                    "DriverOpts": null
                }
            }

バーチャルホストの設定

設定の変更

バーチャルホストの設定へIPアドレスを記載します。

NameVirtualHost 172.18.0.2:80

<VirtualHost 172.18.0.2:80>
    ServerName local.test.com
    DocumentRoot /www-contents
    <Directory "/www-contents">
        Options -Indexes +FollowSymLinks
        AllowOverride all
        Require all granted
    </Directory>
</VirtualHost>

Apacheの設定読み込み

設定ファイルを変更しただけではApacheは設定を読み込んでくれません。Apacheを再起動すると変更した設定を読み込んでくれます。
ゆえに、Apacheを再起動します。

systemctl restart httpd

最後に

ifconfig、ip a などのネットワークを確認するコマンドが command not found になるのでどうしたものかと思ってましたが、コンテナのIPを調べればいいと思ったのでdockerコンテナのIPアドレスの調べ方を調べました。

© DeNnie.Lab All Rights Reserved.