non vorrei lavorare

ブログ名の通りです。javascript three.js mruby rust OCaml golang julialang blender

xhyveのdockerコンテナにiPhoneからアクセスできた

おはようございます。奥さんはグアムから帰って日本に1週間いただけで、今度はインドネシアのバリ島へ出張に行っています。そんな訳で、息子達と実家生活しております。kjunichiです。

 

xhyveへポート転送する

今回もboot2docker-xhyveを使う。

VirtualBoxではVBoxMangeコマンドや、GUIでポート転送できるので、dockerコンテナを外部から利用できます。xhyveではこの辺りを自前でやり来る必要があるようです。

socatというコマンドを

brew install socat

とHomebrewで入れて

socat TCP4-LISTEN:6080,fork TCP4:192.168.64.7:6080

とすることで

git clone https://github.com/kjunichi/docker-mosaic.git

cd docker-mosaic

docker build -t kjunichi/mosaic .

docker run -p 6080:6080 -d kjunichi/mosaic /startup.sh

で動かした6080番ポートで動いているWebサーバーにiPhoneからOSXIPアドレスの6080番ポートをxhyve側の6080番ポートに転送してくれる。

iPhoneのMobile Safari

 

http://xhyveを動かしているマシンのIPアドレス:6080

 

とアクセスすることで、無事NCSA Mosaicが表示された。

f:id:kjw_junichi:20170623215640p:plain

参考資料

portフォワードというかTCPリレーというか(socat) | Linux | マイノリティでいこう

docker - ChromebookでNCSA Mosaicを動かすのに必要だったこと - Qiita

まとめ

はじめにシンプルなポート転送なのでncコマンドを試してみましたが、httpだと頻繁にコネクションをクローズされるので、このタイミングでコマンドが終了してしまい、ちょっと探したら、今回のsocatが見つかった。

関連記事

9年前の記事

3年前の記事

2年前の記事

1年前の記事