Django应用程序,用于管理Docker容器的创建和代理请求
项目描述
django_docker_engine
此Django应用程序管理和代理对Docker容器的请求。主要目标是提供一个用于Refinery项目的可视化框架,但这也应阻止其在其他环境中使用。
为了使Docker容器与该软件包一起工作,它至少必须
- 在某个端口上监听HTTP连接,并且
- 接受单个JSON文件作为输入。
快速演示
如果您尚未安装,请先安装Docker,然后下载项目,安装依赖项,并运行演示服务器
$ git clone https://github.com/refinery-platform/django_docker_engine.git
$ cd django_docker_engine
$ pip install -r requirements-dev.txt
$ pip install -r requirements.txt
$ ./manage.py runserver
访问演示服务器:从那里您可以选择一个可视化工具和一个数据文件来启动容器,查看对每个容器的请求,并终止您启动的容器。
动机
可视化工具已经使用多种语言构建,它们可能具有众多、甚至可能冲突的依赖关系。对于Refinery平台,这是一个生物信息学和计算生物学应用的数据管理、分析和可视化系统,我们通过创建名为django_docker_engine
的Python包来尝试容纳最广泛范围的工具,该包可在PyPI上使用,它启动Docker容器,代理Django到容器的请求,并记录每个请求。
对于每个工具,包装的Docker容器将解析在启动时提供的输入数据,并开始监听请求。目前,正在使用纯JavaScript应用程序的包装器和用于客户端-服务器应用程序的包装器,例如用于探索基因组接触矩阵的HiGlass,以及用于基因表达数据的Plotly Dash工具。容器本身可以与Django在同一主机上运行,也可以在单独的实例上运行。
在Refinery平台中,由django_docker_engine
管理的交互式可视化补充了由Galaxy管理的流程:这两个工具都降低了入门门槛,并使用户能够对其自身数据进行复杂分析。Refinery增加了用户管理、访问控制和来源跟踪功能,以使研究更具可重复性。
django_docker_engine
将适用于任何需要从Django应用程序中访问现有或独立开发的工具的环境,同时负责用户身份验证、访问控制和数据管理。
更多信息
对于演示服务器,tools.py
定义了可用的工具并指定了默认输入。类似地,visualization-tools
存储库定义了可以加载到Refinery中的工具。
更多信息
发布流程
在您的分支中更新VERSION.txt,使用语义版本控制:当PR合并时,成功的Travis构建将推送新版本到pypi。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建版本
django_docker_engine-0.1.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 54297240eb2e22df58b47f5672b6cb11fd7f0521db59bf91403cd8c0976dc17a |
|
MD5 | b99a35063e76e4ab0cd80efce6a8971f |
|
BLAKE2b-256 | a654f53de02c8df2061fa99c07319edf9a3763a5d81688d22330a3190f67a6ac |
django_docker_engine-0.1.4-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 345a9160d4064b45041628d64f1a0ac203faba4c4396863e60321139937643e2 |
|
MD5 | b94e6c03e9dc7da96e09f966aa34a890 |
|
BLAKE2b-256 | 4be5f6c684627f0ed82f804bc41b013b0ecb6eeb8dba0bc70d6c1ccb92e72e66 |