docker update_Docker与生物信息学

b003a452cf7d5e98cec865de740dd66d.png

Docker与生物信息学

Docker是近年来新起的一种应用(计算机)分发工具,它极大的方便了人们获取、构建、发布软件应用。

在生物信息学领域,很重要的一环就是开发用于数据分析的工具或软件包。在没有Docker之前,人们总是要对各类软件的错综复杂的依赖问题头痛不已(事实上Conda/Bioconda等目前被广泛应用的软件包管理工具总是会出现一些问题)。现在,Docker似乎为生物信息学相关从业人员提供了一个释放自己的途径,我相信在不久的将来,使用Docker进行生物信息学应用、软件的发布将成为共识。

目的

作为一名生物信息专业学生,Docker在很早之前就被我列入了必学的项目之一,现在我也逐渐开始将新开发的项目使用Docker进行打包。这篇博文主要目的在于记录一些最常用的一些Docker命令和学习资源,并谈谈我对Docker在生物信息学相关领域上应用的一些看法。

Docker的常用命令

# 可以跳过直接运行下一步
docker run learn/tutorial 

更多Docker的操作以及配置见官方文档

Dockerfile

Dockerfile是一种用于自动化构建Docker Image的配置文件,它可以让其他用户知道自己正在使用的容器是如何构建的,自己有没有可修改或定制的地方。如果,你正在使用的Image是由其他用户通过交互式操作构建的:

;apt install r-base
docker commit -m 

那么你是很难知道容器里做了哪些修改,有没有嵌入恶意代码,所以,我们需要一个文件记录用户所有的操作,并让其他用户可以便于查看或修改 (详细讲解):

Docker的大与小

Docker容器可大可小(alpine似乎正在成为一种最小化构建Docker容器的标准):

  • 用“小”容器够建不需要太多外界依赖数据的各类应用(BWA、SAMtools .etc),这些应用往往在编译或安装之后就可以开始使用;
  • 还有一类就是各种大型的网页应用、依赖软件众多的Pipeline,这类软件应用配置起来最为麻烦,或许在一个容器内完成会更加方便(数据库除外),或者是使用compose来进行组合多个容器构建应用。

Docker的不便之处

  • Docker运行需要ROOT权限(以后也一定需要),对于大多数非云计算的高性能计算而言,只能够使用conda等工具完成相应分析环境部署
  • Docker容易带来一些额外的存储,如重复的依赖、重复的数据等等。特别地,如果软件开发人员不能够很好的拆分应用到不同容器中,将会带来很多冗余文件,对于硬盘紧张的用户来说可能压力会比较大

使用非ROOT用户使用docker

${

Docker的一些常用链接

  • Docker Github
  • Docker Home
  • Docker Hub
  • Docker Document
  • Moby Project
  • awesome-docker: A curated list of Docker resources and projects
  • compose: Define and run multi-container applications with Docker
  • docker菜鸟教程
  • Docker 的应用场景在哪里?
  • 非常详细的 Docker 学习笔记
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值