本家様 https://github.com/arohou/gP2S
cryo-EM向けの電子実験ノート.
作ったグリッドとかサンプルとかを記録していきます. あと作ったグリッドの保存場所とかも記録していきます.
研究リソースの管理にはいいかもしれません.
実験プロトコルも登録できて、トレースが楽かもしれません.
アプリとしてもdockerでも運用できるみたい.
フロントエンドはVue.jsで、バックエンドは SPRING によるjavaサーブレットかな?
ユーザアカウント管理gP2S/account
試しにデータを入力してみたgP2S/sample
dokcer環境の構築はこちらを参照 docker
まずはgitを取得する
[illya@docker ~]$ git clone https://github.com/arohou/gP2S
使用するのは gP2S/docker-compose.yml だけなのですが、、、
構築方法はこの docker-compose.yml ファイルにも書かれているが、
[illya@docker ~]$ head -n 10 gP2S/docker-compose.yml
# Start.
# docker swarm init
# docker stack deploy -c docker-compose.yml gp2s_stack
# docker service ls
#
# Stop and remove services along with database volumes.
# docker stack rm gp2s_stack
# docker swarm leave --force
#
version: "3"
[illya@docker ~]$
っと、「docker swarm init」「docker stack deploy -c docker-compose.yml gp2s_stack」でいいみたい.
どうやらdockerのswarmモードで構築するようで. *(dockerでクラスターを作るモードです)
[illya@docker ~]$ docker swarm init
Swarm initialized: current node (略) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-3wplhs8(略) 192.168.0.96:2377 <--- workerになる際に使用するコマンド
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
[illya@docker ~]$
これ以降「docker swarm join ...」とか実行するのかなと思うのだが、「docker-compose.yml」によると次は「docker stack deploy -c docker-compose.yml gp2s_stack」でいいみたい.
なので
[illya@docker ~]$ docker stack deploy -c gP2S/docker-compose.yml gp2s_stack
Ignoring deprecated options:
container_name: Setting the container name is not supported.
Creating network gp2s_stack_gp2snet
Creating service gp2s_stack_apacheds
Creating service gp2s_stack_gp2s-service
Creating service gp2s_stack_mysql
Creating service gp2s_stack_mongodb
[illya@docker ~]$
(確認)
[illya@docker ~]$ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
z7zvk3uufg8q gp2s_stack_apacheds replicated 1/1 openmicroscopy/apacheds:0.7.0 *:10389->10389/tcp
iklprg83ukck gp2s_stack_gp2s-service replicated 1/1 arohou/gp2s:latest *:8080->8080/tcp
x61uxqjru2tq gp2s_stack_mongodb replicated 1/1 mongo:4.0.6 *:27017->27017/tcp
n75nuv70by9s gp2s_stack_mysql replicated 1/1 mysql:5.7 *:3306->3306/tcp
[illya@docker ~]$
これでgP2Sは動く.
gP2Sはwebアプリ. dockerを動かした計算機の 8080 にブラウザでアクセスします
すると下記のような画面が表示される.
初期アカウントは「admin」初期パスワードは「secret」です.
ログインするとこんな感じ
(稼働の確認)
[illya@docker ~]$ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
yezgox9iw0nh gp2s_stack_apacheds replicated 1/1 openmicroscopy/apacheds:0.7.0 *:10389->10389/tcp
p1hzkz4batr6 gp2s_stack_gp2s-service replicated 1/1 arohou/gp2s:latest *:8080->8080/tcp
j1dvgx3e9cw7 gp2s_stack_mongodb replicated 1/1 mongo:4.0.6 *:27017->27017/tcp
dy84hj47yu0t gp2s_stack_mysql replicated 1/1 mysql:5.7 *:3306->3306/tcp
(停止)
[illya@docker ~]$ docker stack rm gp2s_stack
これでサービスが停止します。
この後、「docker-compose.yml」のパラメータを調整して再度起動するには下記を実行します
[illya@docker ~]$ docker stack deploy -c gP2S/docker-compose.yml gp2s_stack
gP2Sのサイトにも書かれているが、そのまま稼働してデータを書き込んでもマシンを再起動すればそのデータは消えてしまいます。
*具体的には「docker stack rm gp2s_stack」でサービスを停止すれば消えます
永続的にデータを残すには「docker-compose.yml」を調整する必要があります。
|
これで「docker stack deploy -c gP2S/docker-compose.yml gp2s_stack」と再起動させると volume が勝手に作成されます。
[illya@docker ~]$ docker volume ls
DRIVER VOLUME NAME
local 4fe641b83e791eaeb3d3f1387c3cd6055595ccdc438de417b61542e9f9c1002b
local ab450e1256ec03f2daf69a6f873bf18795fa0ab20980c20419afd9d7c256f9c8
local cbf7052d592bc0a393efd25ae8a1af492264dab7a870e3141e666ffe3a786a8d
local gp2s_stack_mongo_volume <--- これと
local gp2s_stack_mysql_volume <--- これ
[illya@docker ~]$
これらは「docker stack rm gp2s_stack」としても、再起動しても削除されないので最低限ここは有効にすべきかと.
既定のままでは無理. エラーが発生します.
mysqlの所で「command」行を追加すれば回避できます. *TZ環境変数はおまけ
|