前言
众所周知,和是进行快速软件安装、平台布置的两大神器,通过它们,在终端前敲几个命令、点点鼠标,软件就装好了。出了问题也不会影响到系统配置,能够很轻松的还原和重建。
不过,虽说类似或者这样的分析平台能够很快地找到别人已经做好的镜像,但是总归有功能缺失,而且有时要让不同的镜像协同工作时,目录的映射,权限的设置会让经验的人犯晕。
本着不折腾不舒服的本人一惯风格,我自己写了一个dockerfile,集成了、、,可用于生信分析平台的快速布置,通过一些技巧,也可供linux初学者练习用
我的dockerfile地址
https://github.com/leoatchina/dockerfile_jupyter,觉得好给个star吧!
(PS: 小编我已经迫不及待的给出了第一个赞!)
安装,要先装好和
说明,这个镜像的名字是,你们可以改成其他自己喜欢的任何名字
我在这个dockerfile里主要做的工作
基于ubuntu16.04
安装了一堆编译、编辑、下载、搜索等用到的工具和库
安装了最新版,,
安装了部分工具
用启动后台web服务
集成以及,,
主要控制点
开放端口:
8888: for jupyter lab
7777: for jupyter notebook
8787: for rstudio server
3838: for shiny
访问密码:
见dockerfile里的
运行时可以修改
jupyter的主目录:
rstudio的主目录:
shinny的主目录:
VOLUME ["/home/rserver","/jupyter","/mnt","/disks","/oss","/data"]
运行
使用docker-compose
docker-compose -f /home/docker/compose/bioinfo/docker-compose.yml up -d
的内容,详细内容如下
会运行一个名为的,是由目录+镜像+数字组成
使用docker run命令
和docker-compose差不多的意义
运行后的调整
打开 ,修改下R的源,bioClite源
可能要运行下
shinny的运行目录是在
进入的用户名是
和,我玩的小花招
众所周知,bash/zsh在启动时,会加载用户目录下的进行一些系统变量的设置,同时又可以通过命令加载指定的配置,在我的做出来的镜像中,为了达到,在删除container时不删除安装的软件的目的,我做了如下source次序
root目录下的或者(在镜像里已经写入) :
在映射过去的 (另外自行建立):
贴出我的 和
/jupyter/.jupyterc
/jupyter/.bioinforc
你们可以看到,在$PATH变量中优先级最高,而安装在,等目录下的可执行文件不需要输入全路径也运行,这是搞哪一出?
conda install -p 快速安装软件
各位在学习其他conda教程时,经常会学到新建一个运行环境以满足特定安装需求,还可以通过激活这个环境,但其实还有一个参数用于指定安装目录。
利用了这一点,我们就可以把自己里安装软件到,而是上。
举例如下安装
如此,就安装到对应的位置,如samtools,bcftools,varscan等一众生信软件都可以如此安装。
关键的,在安装这些软件相应被删除后,这些通过安装上的软件不会随着删除,下次重做只要目录映射一致,不需要重装,不需要重装,不需要重装。
有用的时刻?
启动分析流程后,发现代码写错了要强行结束时,只要删除,不需要一个个去kill进程
在另一个机器上快速搭建分析环境,把在新机器上下,各个文件放到正确的位置,然后把已经装上的软件复制过去就能搭建好分析环境。
网页端的shell
本docker中集成的jupyter lab的功能不用太多介绍,我要介绍的是集成的zsh环境,通过输入,就会打开一个有高亮的 shell环境
有两个好处
只要你记得你的访问密码PASSWORD(仔细看我的启动脚本),IP、端口,就可以通过网页端进行操作。
启动,,的分析流程后,可以直接关闭网页,不需要用启动,下次重新打开该页面还是在继续运行你的脚本 。这个,请各位写个分析流程,自行体会下,也是我认为本次教程的最大亮点。
编辑:jimmy
领取专属 10元无门槛券
私享最新 技术干货