mecobalamin’s diary

人間万事塞翁が馬

https://help.hatenablog.com/entry/developer-option

JBrowseをDockerで動かす、その5、Nginxの起動とJBrowseへのアクセス

続きです
mecobalamin.hatenablog.com

JBrowseにアクセスするウェブサーバーをVMに起動する
使用するウェブサーバーはNginx
エンジンエックスと呼ぶらしい
nginx - Wikipedia

起動は次のようにする

$ docker run --rm -v JBrowse:/usr/share/nginx/html/ -d -p 8080:80 --name nginx_jbrowse nginx

ボリュームのJBrowseをnginxのコンテナの
/usr/share/nginx/html
にマウントしている
JBrowseをインストールしたボリュームである
dオプションでコンテナをバックグラウンドで動かす
pオプションはコンテナのポートをVMのポートとつなぐ

VirtualBoxVMのポート8080と
ホストOSのポート8000がつながっているので
/usr/share/nging/html内のファイルに
ホストOSのブラウザからアクセスできる

アドレスはホストのIPアドレス:8000/jbrowse/index.htmlを使う

ホストのIPアドレスはwslではifconfig
Powershellではipconfigを使う

wslの場合

$ ifconfig

wifi0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.4  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 xxxx::xxxx:xxxx:xxxx:xxxx  prefixlen 64  scopeid 0xfd<compat,link,site,host>
        ether xx:xx:xx:xx:xx:xx  (イーサネット)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 

実際にはいくつか接続済みのアドレスが出てくる
ローカルネットワークにつながっているwifi0のinetを見ると
192.168.0.4
なのでこのアドレスを使う

例えばJBrowseのVolvoxのデータにアクセスするには
次のアドレスをwindowsのウェブブラウザに入力する

http://192.168.0.4:8000/jbrowse/index.html?data=sample_data/json/volvox

このような画面が表示されたら成功
f:id:mecobalamin:20201011092951p:plain

ポートの設定ができていないときは
"サイトにアクセスできません"
と出た
アドレスが間違っている場合は
"403 Forbidden"
が出たりした

うまく設定できたら
JBrowseのインストールに使ったUbuntuのコンテナを終了させて
NginxのコンテナだけでもJBrowseを動かせる


続きます。