こんにちは、LinuCエバンジェリストこと、鯨井貴博@opensourcetechです。
今回は、Docker Toolboxで作成したコンテナを公開し、外部PCなどからアクセスする方法の紹介です。
なお、公開するコンテナは以下の記事で作成したものを使っています。
Docker Toolboxで起動したコンテナの状態
Docker Toolboxで起動されたコンテナは、VirtualboxのdefaultというVMで稼働しています。
では、このVMのネットワークはというと、
以下のように ①NAT割り当て(VMが外部に通信される際にNATされる) ②ホストオンリーアダプター(ホストOSとVM間の通信が可能)が有効化されています。
つまり、このままでは外部からコンテナにはアクセスできない ということです。
手順1:VM使用ポートの公開
外部からのアクセスを実現するには、Virtualbox VMの NATネットワークで利用できる「ポートフォワーディング」を使います。
ここの設定をするにはVMが停止している必要があるので、一度VMを停止します。
ポートフォワーディングをクリックすると、以下のようにルールを設定することができます。
ここで、以下のように設定を追加します。
ゲストポート = コンテナで公開しているポート番号
ホストIP = 0.0.0.0
ホストポート = ホスト側で利用するポート番号
ポートフォワーディングの設定が出来たら、VMを起動します。
手順2:ホストOS(Windows10 Home)側のセキュリティ設定追加
ホストOSではセキュリティソフトなどが入っていると思いますので、外部からのアクセスを許可するように設定を追加します。
具体的な方法法などはソフトにより異なるので割愛しますが、Microsoft Defender ファイアウォールの場合、以下が参考になります。
なお、コンテナ利用が終わった後もポートを公開したままにしているとセキュリティとしてはよくないので、利用が終わった後は必ずルールを無効化する・設定を元に戻すということを忘れないようにしましょう。
ここまで設定すると、外部PCからコンテナで公開しているポートにアクセスできるようになります。
余談ですが、新しくなったZabbix 5.0 LTSのUI、シャープでかっこいいですね♪