Windows Subsystem for Linux 2 でDocker を使用する(その1)
Docker コンテナを外部のマシンからアクセス可能にする。
これまでの手順でWindowsマシン内からDockerコンテナにアクセスできることを確認しました。しかし現時点では、外部のマシンからこのDockerコンテナにアクセスできない状態になっています。そのためWindows マシンを受信ホストに設定して外部からアクセス要求があった場合にWSL2にアクセスを転送するように設定することにより、Dockerコンテナにアクセスできるようにします。
IPアドレスの確認
1. 下部の一番左のアイコンを右クリックします。
2. メニューが表示されます。
3. 表示されたメニューにある「Windows ターミナル」をクリックします。
4. Windows ターミナルが起動します。
5. Windows Terminalにキーボードより下記コマンドを入力し、ENTERキーを押して表示されたWindowsのIPアドレスをメモします。
> ipconfig
※画像のIPアドレスはセキュリティ対策として加工してあります。
6. 続けてキーボードより下記のコマンドを入力しENTERキーを押して表示されたWSL2のIPアドレスをメモします。
> wsl -e ip addr show
※画像のIPアドレスはセキュリティ対策として加工してあります。
7. タスクバーのEdgeのアイコンをクリックしてwebブラウザーを起動します。
8. ブラウザーに URLを入力して起動したnginxのDocker コンテナにアクセスできるか確認します。
※画像のIPアドレスはセキュリティ対策として加工してあります。
アクセス転送設定
1. 下部の一番左のアイコンを右クリックします。
2. メニューが表示されます。
3. 表示されたメニューにある「Windows ターミナル(管理者)」をクリックします。
4. アプリでのデバイス変更の許可を聞かれるので「はい」をクリックします。
5. Windows Terminalが起動します。
6. Windows Terminalにキーボードより下記コマンドを入力しENTERキーを押して、Windows マシンへのアクセスをWSL2へ転送するように設定します。
> netsh interface portproxy add v4tov4 listenaddress=WindowsのIPアドレス listenport=80 connectaddress=WSL2のIPアドレス connectport=80
※画像のIPアドレスはセキュリティ対策として加工してあります。
7. 設定したら再びWindows Terminalでキーボードより下記コマンドを入力しENTERキーを押して設定を確認します。
> netsh interface portproxy show v4tov4
※画像のIPアドレスはセキュリティ対策として加工してあります。
ファイアウォールの設定を変更する
先に記述した手順でWindows マシンへのアクセス要求をWSL2に転送できるようにしました。しかしそのままでは外部マシンからWindowsマシンへのアクセス要求はWindowsにインストールされているMicrosoft Defenderのファイアウォールで拒否されてしまうため、外部のマシンからアクセスを受け付けるように設定を変更します。
1. 下部の一番左のアイコンをクリックします。
2. ウィンドウが表示されます。
3. 表示されたウィンドウ右上の「設定」をクリックします。
4. 設定ウィンドウが表示されるので左側の「ネットワークとインターネット」をクリックします。
5. 右側にネットワークの設定一覧が表示されるので一番下にある「ネットワークの詳細設定」をクリックします。
6. 右側にネットワークの詳細設定一覧が表示されるので一番下にある「Windows ファイアウォール」をクリックします。
7. ファイアウォールの設定ウィンドウが表示されるので「詳細設定」をクリックします。
8. アプリでのデバイス変更の許可を聞かれるので「はい」をクリックします。
9. ファイアウォールの詳細設定ウィンドウが表示されます。
10. 左側にある「受信の規則」をクリックします。
11. 受信の規則の一覧が表示されます。
12. 右側にある「新しい規則」をクリックします。
13. 受信設定ウィンドウが開きます。規制の種類の設定は「ポート」を選択して「次へ」をクリックします。
14. ポートの設定へ移ります。「特定のローカルポート」で80と入力して「次へ」をクリックします。
15. 操作の設定へ移ります。「接続を許可する」が選択されている事を確認して「次へ」をクリックします。
16. プロファイルの設定へ移ります。すべてのチェックボックスにチェックが入っている事を確認して「次へ」をクリックします。
17. 規制名の設定へ移ります。「名前」にHTTPと入力して「完了」をクリックします。
18. 受信の規則が追加されます。
他のマシンからのアクセス確認
これまでの設定でWSL2のDockerコンテナは外部からのアクセスが可能となりましたので、アクセスができるかどうかを確認します。
1. 外部マシンでWebブラウザーを起動します。
2. URL入力欄にWindowsマシンのIPアドレスを入力します。
※画像のIPアドレスはセキュリティ対策として加工してあります。
3. 起動したnginxのDocker コンテナにアクセスできるか確認します。
※画像のIPアドレスはセキュリティ対策として加工してあります。
次回はWSL2のGUIアプリをWindowsで使用する方法などを紹介します。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Windows 11でLinuxを使う:Windows Subsystem for Linux 2の設定
- Windows Subsystem for Linux 2 でDocker を使用する(その2)
- 「Windows Terminal」を使いこなす
- Windows Server 2016 Technical Preview 3におけるDockerの利用
- Windows Server コンテナ始動!
- 「WSL2」をインストールしよう
- Windows Azure上にWindowsインスタンスを立ち上げる(クエスト4)
- 「Ubuntu」のパッケージ管理を学ぼう
- WordPress コース 2nd Stage を攻略しよう(Linux 仮想マシン編)
- 仮想マシンにCentOSをインストールする