MENU
Language

XServerVPS:MacからSSHトンネルを使って、Linuxサーバー上のDockerコンテナにアクセスする手順 – Linuxサーバーの http://localhost/ をMacから実行する

目次

前提条件

  • MacからLinuxサーバーにSSH接続できること
  • DockerコンテナLinuxサーバーで動作していること

Linuxサーバーの確認

. Dockerコンテナが起動しているか確認

MacからLinuxサーバーにSSH接続する:例

ssh -i /任意/.ssh/filename.pem username@linux-server-ip -v

次に、docker ps を実行してコンテナのポート設定を確認:

docker ps

出力例:

CONTAINER ID  IMAGE     COMMAND               CREATED          STATUS          PORTS                                          NAMES
aaa3ee08cbbb  test-web  "flask run --debug"   45 minutes ago   Up 45 minutes   0.0.0.0:8001->5000/tcp, [::]:8001->5000/tcp    test-web-1

PORTSを確認、今回の場合は0.0.0.0:8001->5000/tcp の設定の場合を例とします。ポート番号は任意です。

Linuxサーバーの 8001 番ポートが開いているか確認

netstat -tulnp | grep 8001

または

ss -tulnp | grep 8001

出力例:

tcp        0      0 0.0.0.0:8001            0.0.0.0:*               LISTEN      411111/docker-proxy 
tcp6       0      0 :::8001                 :::*                    LISTEN      422222/docker-proxy 

LISTEN となっていればOKです。

LinuxサーバーのSSH接続を終了する

exit

Mac から Linux サーバーの localhost にアクセスする

SSHトンネルを使う方法

Mac側でSSHポートフォワーディングを設定し、Linuxサーバーの localhost:8001 をMacの localhost:8001 に転送:

ssh -i /任意/.ssh/filename.pem  -L [ローカルポート]:[リモートホスト]:[リモートポート] username@linux-server-ip -v

例)

ssh -i /任意/.ssh/filename.pem  -L 8001:linux-server-ip:8001 username@linux-server-ip -v

コマンドの各オプション

オプション説明
sshSSHコマンド
-i /任意/.ssh/filename.pemSSH接続時に使う秘密鍵 (.pem ファイル) を指定
-L 8001:linux-server-ip:8001ローカルポートフォワーディング(詳細は後述)
username@linux-server-ip接続するLinuxサーバーのユーザー名とIPアドレス
-v詳細なデバッグ情報を表示(接続時のログを確認するのに便利)

-L 8001:linux-server-ip:8001 の意味 ローカルポートフォワーディング

項目設定値説明
ローカルポート8001Macの localhost:8001 を使う
リモートホストlinux-server-ipリモートのサーバー(LinuxサーバーのIP)
リモートポート8001Linuxサーバーの 8001 番ポート

動作の仕組み

  • Mac上で http://localhost:8001 にアクセスすると
  • SSH経由で Linuxサーバーの 8001 にリクエストが転送される
  • 結果、Mac側で Linuxサーバーの 8001 番ポート にアクセスしているのと同じ動作になる

確認方法 Macのブラウザで以下を開く:

http://localhost:8001

トラブルシューティング

SSHトンネルを使用する際、ファイアウォールの設定が原因で通信がブロックされる ことがあります。各OSごとにファイアウォールの状態を確認し、必要に応じてポートを開放してください。

参考

http://localhost:8001で表示した内容は、DockerのクイックスタートのレッスンをMacからSSH接続してLinuxサーバーで実施し、Macのブラウザで確認した例です。

Docker クイックスタート
https://docs.docker.com/compose/gettingstarted

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

AIアーティスト | エンジニア | ライター | 最新のAI技術やトレンド、注目のモデル解説、そして実践に役立つ豊富なリソースまで、幅広い内容を記事にしています。フォローしてねヾ(^^)ノ

コメント

コメント一覧 (1件)

  • […] Ai0w.com XServerVPS:MacからSSHトンネルを使って、Linuxサーバー上のDockerコンテナにアクセスする手順 – Linuxサー… 前提条件 MacからLinuxサーバーにSSH接続できること Dockerコンテナ が Linu […]

コメントする

目次