docker学习:在docker中运行生信脚本

自己写的一些文本处理的小脚本,想放到docker上去,练习一下如何使用docker。

开发环境:mac

运行系统:ubuntu

1、安装mac版的docker 客户端,官网下一个安装就行了

2、打开一个命令行窗口,检查一下是否安装了docker,没有就装一个

3、从官网pull一个ubuntu 镜像

docker pull ubuntu

4、查看镜像

docker images

5、基于ubuntu镜像,实例化一个容器出来,并后台运行

docker run -itd --name ubuntu-test ubuntu

可以用docker ps 查看容器

6、将写的小脚本和测试数据拷贝到容器,测试数据也可以用-v 去挂载,我的数据比较小,就直接拷进去了

docker cp ~/github/tools  ubuntu-test:/opt/tools

docker cp ~/data  ubuntu-test:/tmp/

7、进入容器

docker exec -it ubuntu-test /bin/bash

测试一下命令

python  /opt/tools/test.py -in /data/data1.txt -out /data/output 

测到缺哪些文件,就用第6步的方式拷进来

8、基本模块安装

比如:

apt-get install vim

apt-get install wget

apt-get install pip

apt-get install yum

apt-get install less

如果出现报错:

E: Unable to locate package yum

先更新一下源 : apt-get update

1)python 模块安装

用pip就行

2)perl 模块用cpan安装

输入 cpan,发现cpan不存在,摸索了很多方式都不行

重装一下perl; 用apt-get install perl  ,重启了一下docker(暂不清楚是否要重启),就可以了

输入cpan ,进入交互模式,直接安装

install  FindBIn  

9、容器内测试成功后,将容器打包成镜像

docker export ubuntu-test | docker import - ubuntu-test:v2

10、在容器外测试

docker run -v /本地目录:/容器目录   ubuntu-test:v2 sh -c "python  /opt/tools/test.py -in /data/data1.txt -out  /data/output " 

运行完就能在“/本地目录” 看到结果了

docker images 可以看到新的ubuntu-test:v2 这个镜像,后面可以push 到仓库或save成一个压缩包;

在别的服务器,pull或下载,load进来就可以用了

你可能感兴趣的:(docker学习:在docker中运行生信脚本)