生信利器——docker

2019-09-11 求臻医学企宣

今天的臻解密,将用大白话告诉你docker是什么……

docker是什么?


如果拿现实中的例子,那它就类似是个集装箱。


为什么是docker或者说它的优点是什么?


集装箱的运输是很方便的,可以放在陆地,也可以放在船上,行驶在世界各地。OK,那么docker类似的功能是,打包好的东西可以在Windows、Mac以及Linux上运行,不受环境限制。


docker为什么在生信分析中广泛得到应用?


简单的讲,生物信息分析这个过程中所依赖的分析软件实在太多了,小编就亲身经历就安装过近300款分析软件,而且还不包括R、perl以及python这样的基础底层软件所依赖的开发包。如果有了docker,构建一次生信环境,加上docker灵活的可移植性,简直是完美。


构建docker镜像的原则方法?


由于生物信息软件的多样性,因此没有必要一次性把所有分析软件打包到一个docker中,而是根据不同的分析需求构建不同的集装箱。


寻找基础镜像?


在构建docker镜像的过程中,我们可以找一个合适的外壳,比如红色的蓝色的,这里的外壳我把称为基础镜像,基础镜像一般选择都是linux系统,可以选择centos、ubuntu,这两者的区别就是centos比较稳定,更新的库文件比较保守,ubuntu更趋向于向前更新,这里推荐centos。


docker又一大优点:镜像累积


比如你刚刚弄好了一个集装箱A,如果再往里面加点东西就可能适应一个新的分析流程。OK,别急,你可以把集装箱A 当作基础镜像,再往里面加新东西,生产新的镜像也就是集装箱B。


docker 的资源汇总?


首先是官网,通过官网你可以下载docker软件,通过该软件你可以构建形形色色的docker镜像。


官网:http://www.docker.com


其次是社区,通过开源的公共社区,你可以共享在开源社区别人已经构建好的docker镜像,包括基础镜像的选择。


社区:https://hub.docker.com/



再者就是国内镜像,通过设置国内的镜像加速,你可以更快的从社区网站下载或者上传docker镜像。


阿里云的加速器:


https://help.aliyun.com/document_detail/60750.html


网易加速器:http://hub-mirror.c.163.com


官方中国加速器:https://registry.docker-cn.com


ustc的镜像:https://docker.mirrors.ustc.edu.cn



构建自己的镜像?


这一部分就是要开发者自己去实践了,如何构建docker镜像,其中的一些命令,小编在这里推荐一个在线网站,搞定一切:


http://www.runoob.com/docker/docker-tutorial.html


 最后,一如既往的放大招:


小编为了便于各位开发者特别是生信分析人员,特地在此放出了小编构建好的基础镜像,以此为基础,结合docker的良好扩展性,开发者可以任意构建某一分析流程的特色镜像。这一基础镜像以centos为基础,构建了R、perl、java、python2、python3等,并安装了一些常规的分析软件包。话不多少,直接给出镜像地址:https://hub.docker.com/r/fanyucai1/base


此外小编还基于该基础镜像,进一步封装了一个可用于变异检测分析的docker镜像,其镜像地址如下:


https://hub.docker.com/r/fanyucai1/bio_tumor