使用 docker-compose 一键启停 Cromwell

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: 本文主要为大家讲解如何使用 docker-compose 一键启停 Cromwell。

1.jpg
镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站

一、背景

Cromwell server 的启动需要以下组件配合:

  • 启动 Mysql 的 docker 容器作为 Crowmell 的持久化数据库,包括配置用户名,密码等
  • 填写 Cromwell 配置文件,包括 BCS 后端配置及数据库等配置
  • 使用 Cromwell 的 jar 包,启动 server

实际上 Cromwell 除了发布 jar 包,也会发布对应的 docker 镜像,我们可以考虑使用 docker-compose来简化以上步骤。docker-compose 是 Docker 官方的开源项目,其定位是定义和运行多个 Docker 容器的应用(Defining and running multi-container Docker applications)。
使用docker-compose 可以将容器化的 Cromwell 和 Mysql 两个 service 拉起,作为一个应用来运行。再配合脚本来简化配置,可以将 Cromwell 的服务做成一键启停。

二、开通 ECS 作为 Crowmell server

首先使用 Cromwell server 镜像 开通一台 ECS,ssh 登入机器后,可以运行目录下的cromwell-server.sh,进行Cromwell Server的管理:

1. # ./cromwell-server.sh
2. cromwell-server.sh - init cromwell config and start/stop service
3. Usage: cromwell-server.sh [options...] [init/start/stop/status]
4. Options:
5.   --id=STRING           Access id
6.   --key=STRING          Access key
7.   --root=STRING         Oss root ****for**** cromwell, e.g: oss://my-bucket/cromwell/
8.   --instance=STRING     default runtime: instance **type** [ecs.sn1.medium]
9.   --image=STRING        default runtime: image id [img-ubuntu-vpc]

三、第一次配置与启动服务

初次使用,需要做一些初始配置,可以使用下面的命令完成一键初始化与启动:

1. ./cromwell-server.sh init --id=LTAI8xxxxx --key=vVGZVE8qUNjxxxxxxxx --root=oss://gtx-wgs-demo/cromwell/

上面的命令完成了以下配置:

  • --id: 批量计算的 Access Id
  • --key: 批量计算的 Access Key
  • --root: Crowmell 运行时在 OSS 上的工作根目录
  • --instance: Cromwell 默认运行时参数,实例类型
  • --image: Cromwell 默认运行时参数,镜像ID执行完以上命令后,会根据 Crowmell 配置文件模板生成配置文件,并通过 docker-compose 启动 Cromwell server,并在后台运行。

服务启动后,就可以通过镜像中的命令行工具 widdler 执行工作流的提交:

1. **cd** /home/cromwell/cromwell/ 
2. widdler run echo.wdl inputs.json -o bcs_workflow_tag:test_echo

四、停止服务

使用下面的命令可以一键停止服务:

1. ./cromwell-server stop

五、再次启动服务

在已经完成配置的情况下,使用下面的命令,可以完成服务启动:

1. ./cromwell-server start

六、重新配置并启动服务

如果需要修改配置,在服务停止的情况下,再次使用 init 命令可以完成新配置重新启动:

1. ./cromwell-server.sh init --id=LTAI8xxxxx --key=vVGZVE8qUNjxxxxxxxx --root=oss://gtx-wgs-demo/cromwell/

七、使用option文件设置默认运行时参数

在 Crowmell 的配置文件中,可以设置每个 backend 的默认运行时参数 default-runtime-attibutes,也可以在提交工作流时通过 option 覆盖原有设置。
所以如果您在提交工作流时用到了数据盘、NAS等,都可以在 option 文件中设置:

1. {
2.     "default_runtime_attributes": {
3.         "vpc": "192.168.0.0/24",
4.         "autoReleaseJob": **true**,
5.         "mounts": "nas://1f****04-xkv88.cn-beijing.nas.aliyuncs.com:/ /mnt/ true",
6.         "dataDisk": "cloud_ssd 250 /home/mount/"
7.     },
8.     "bcs_workflow_tag": "Tagxxx",
9.     "read_from_cache": **true**
10. }

使用 widdler 命令行的 -O (大写的O)参数提交 option 文件:

1. widdler run echo.wdl inputs.json -O options.json

阿里巴巴开源镜像站 提供全面,高效和稳定的系统镜像、应用软件下载、域名解析和时间同步服务。”

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
8月前
|
存储 机器学习/深度学习 中间件
快速上手 Elasticsearch:Docker Compose 部署详解
本文介绍了如何使用Docker Compose快速搭建Elasticsearch学习环境。Elasticsearch是一款用于实时搜索和分析的分布式中间件,适用于多种场景,如搜索、日志分析、机器学习等。首先,创建docker网络,拉取最新版8.12.2镜像。接着,编写docker-compose.yml文件,配置单节点集群,设置端口映射、内存限制及数据卷挂载。然后,创建并配置数据卷目录,允许远程访问和跨域。最后,启动服务并验证,通过浏览器访问确认服务运行正常。本文为初学者提供了一个简便的Elasticsearch部署方法。
965 4
快速上手 Elasticsearch:Docker Compose 部署详解
|
8月前
|
存储 数据可视化 数据安全/隐私保护
使用 Docker Compose 部署 Docker Registry
【1月更文挑战第2天】 在内网环境中,我们期望能够在本地共享镜像。为了解决这一问题,Docker Registry成为了我们的救星。Docker Registry是一个用于存储和管理Docker镜像的开源工具。通过在本地部署Docker Registry,您可以轻松地构建、存储和分享自己的Docker镜像。
454 3
使用 Docker Compose 部署 Docker Registry
|
SQL 关系型数据库 数据库
SQL Server 简介与 Docker Compose 部署
SQL Server 是由微软公司开发的一款强大的关系型数据库管理系统(RDBMS),广泛应用于企业级应用程序和数据存储。使用 Docker Compose,您可以轻松地将 SQL Server 实例部署到容器化环境中,并方便地进行数据库管理。在本文中,我将简要介绍 SQL Server 的基本概念,并详细阐述如何使用 Docker Compose 部署 SQL Server 容器。
478 2
SQL Server 简介与 Docker Compose 部署
|
NoSQL MongoDB 数据库
MongoDB 解析:灵活文档数据库与 Docker Compose 部署
`MongoDB` 是一款开源、高性能的 `NoSQL` 数据库,以其无模式的文档存储格式(BSON)而著称,广泛应用于众多开源项目,包括但不限于 Yapi 等。它在大规模数据存储和实时数据处理方面表现出色,因此备受青睐。在本文中,我们将深入探讨 `MongoDB` 的特性,并详细阐述如何使用 Docker Compose 轻松部署 `MongoDB` 数据库,为你提供全方位的指导。
389 1
MongoDB 解析:灵活文档数据库与 Docker Compose 部署
|
8月前
|
Java Docker 微服务
如何使用Docker和Docker Compose部署微服务
【2月更文挑战第12天】
801 0
|
2月前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
2月前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
99 1
|
2月前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
128 0
|
5月前
|
JSON JavaScript 开发者
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
【8月更文挑战第7天】Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
|
6月前
|
关系型数据库 Linux 数据库
如何在Linux云服务器上通过Docker Compose部署安装Halo,搭建个人博客网站?
本文指导用户如何在Linux服务器上使用Docker Compose部署Halo博客系统。首先确保拥有Linux服务器并安装Docker及Docker Compose。接着创建文件夹(例如`~/halo`),用于存放所有Halo相关数据。可以选择不同的Halo Docker镜像源,推荐使用具体版本而非`latest`标签以避免误操作。示例中提供了三种`docker-compose.yaml`配置方法:Halo+PostgreSQL、Halo+MySQL以及使用默认的H2数据库。每种配置都包括网络设置、健康检查和环境变量。
273 1

热门文章

最新文章