-
Notifications
You must be signed in to change notification settings - Fork 0
Docker镜像说明 Chinese Specification of SATH Docker Image
赛德是一个旨在实现"制药服务公众,公众参与制药"的智能计算制药开放平台。任何家用普通Windows电脑或者机房的Linux服务器,都可以只需通过下载运行SATH程序,参与到计算制药的任务中。
赛德程序的运行架构如下图所示:
赛德镜像部署在Docker Hub中,地址为zengxinzhy/sath,镜像中打包了SATH CLI和SATH Engine两个程序
docker pull zengxinzhy/sath
赛德程序需要以Docker Out Of Docker的形式来运行,运行赛德镜像之前,首先需要为其创建一个空文件夹以保存数据,假设我们创建的文件夹为/tmp/sath。启动赛德镜像的命令为:
docker run -d --name sath-engine -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/sath:/usr/local/sath/data zengxinzhy/sath --data /tmp/sath
-v /var/run/docker.sock:/var/run/docker.sock
是Docker Out Of Docker的运行指令
-v /tmp/sath:/usr/local/sath/data
就是把这一步创建的那个文件夹挂载给sath容器
--data /tmp/sath
是命令行参数,为了告诉sath容器这个文件夹在host的具体地址
docker exec <sath_container_id> sath start
其中,<sath_container_id>为赛德容器的container id
运行完该命令后,可用以下命令查看赛德镜像的状态:
docker exec <sath_container_id> sath status
其结果大致如下:
SATH Version: 1.6.0
SATH Engine is running
[map[execId:--N-4PFXZ_9mo5KYtMWbOV]]
Current running jobs:
*****************************************
--N-4PFXZ_9mo5KYtMWbOV
*****************************************
Use: `sath jobs` to view detail of jobs
若返回的status为running,说明赛德镜像已经成功运行。
赛德镜像启动后,其会根据调度逻辑自动拉取所需的制药算法的镜像,并启动相应的容器
赛德拉取的镜像都有Key为run.sath.author
的label,若需获取所有赛德内部拉取的镜像,运行:
docker images --filter label=run.sath.author
赛德程序启动的容器,都带有key为run.sath.starter
的label,若需获取所有赛德内部启动的容器,运行:
docker ps --filter label=run.sath.starter
赛德镜像中,包含了SATH CLI程序,若需查看CLI实用说明,等第二步的赛德程序启动后,运行其相应的container,命令为sath:
docker exec <sath_container_id> sath
使用下面的命令查看当前正在运行的任务:
docker exec <sath_container_id> sath jobs
其结果大致如下所示:
JOB ID STATUS PROGRESS IMAGE CONTAINER ID CREATED COMPLETED
105063 running 81.71 zengxinzhy/vinadock:latest a9a496f577c1 2 minutes ago
一旦有job在运行,STATUS不为error,则表示赛德程序已经成功拉起了算法镜像,并且镜像在成功运行
若要跟踪持续展示任务进度,可以加上-f的flag:
docker exec <sath_container_id> sath jobs -f
若要查看已完成的所有任务的状态,只需在jobs命令中加上-a的flag:
docker exec <sath_container_id> sath jobs -a
其结果大致如下所示:
JOB ID STATUS PROGRESS IMAGE CONTAINER ID CREATED COMPLETED
104851 running 4.84 zengxinzhy/vinadock:latest d4a69cae64e9 9 seconds ago
104840 success 100.00 zengxinzhy/vinadock:latest b9db1a631e47 7 minutes ago 4 minutes ago
若看到状态为success的任务,说明已经有任务被成功运行完成
若需获取赛德程序stdout的log,只需使用Docker的logs功能:
docker logs <sath_container_id>