0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

開発中のDockerコンテナアプリケーションをPC以外(スマホ)から接続して確認する

Posted at

はじめに

開発中に、Dockerで立ち上げたアプリケーションをローカルPC以外(スマホ)から確認する必要があったので、個人的メモも含めて記載
※Windows環境での設定となります。

接続準備

前提として、端末同士は同一ネットワークに繋がっている必要あり。
また、環境によっては、アンチウィルスソフトのファイアウォールなどを一時的に無効にする、特定のポートを許可するなどの設定を行う必要があります。
あらかじめ設定を行ったうえで、以下の手順を実行。

1.該当PCのIPを確認

ipconfigでIPアドレスを確認
image.png
Wi-Fi接続の場合

2.DockerアプリケーションのIPを確認

DockerアプリケーションのIPは環境によって様々1ですが、今回はRailsアプリケーションに接続するため、起動コマンドrails s -b 0.0.0.0より、ポートフォワーディングする先も0.0.0.0となります。
(この場合、後述する4.ポートフォワーディング設定は不要です)

3.ファイアウォールの許可設定

先述した、アンチウィルスソフトのファイアウォール設定のほかに、Windows Defenderによるポートの許可を行います。
1.Windows Defender ファイアウォール設定画面を開き、新しい規則を作成します。
image.png

2.ポートを選択
image.png

3.TCPを選択して、特定のローカルポートここでは複数のアプリケーションを許可しているので3つのポートを指定しています。
image.png

4.接続を許可する
image.png

5.ここでは、規則は全てを許可(状況によって変更してください)
image.png

6.名前を付けて保存
image.png

4.ポートフォワーディング設定

DockerのIPが特定のIPアドレスであった場合、スマホ=>PC=>Dockerコンテナへとポートフォワーディングする必要があるため、netshによる以下の設定を行います。
コマンドプロンプト管理者権限で開き、netshコマンドを実行。
その後以下のコマンドを実行して、ポートフォワーディングを行います。
interface portproxy add v4tov4 listenport=3000 listenaddress=192.168.11.6 connectport=3000 connectaddress=192.168.99.100
上記は
interface portproxy add v4tov4 listenport={ローカルPCのリッスンポート} listenaddress={ローカルPCのIPアドレス} connectport={Dockerのポート} connectaddress={DockerのIPアドレス}
となります。
複数ある場合は、複数回実行。範囲指定の場合は3000-3100のように指定します。

設定内容を確認するには以下
interface portproxy show v4tov4
image.png

消す場合は以下
interface portproxy reset

5.確認

Dockerコンテナを立ち上げた後、
http://192.168.11.6:3000/
をローカルPC以外で接続するとアプリケーションが見れると思います。

まとめ

スマホ特有の挙動などをSTG環境に上げる手間なく、その場で確認できるのはメリットだと思うので、何かの参考になれば幸いです。

参考

  1. docker-machineの場合は192.168.99.100がデフォルト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?