Docker镜像
以下内容基于mac和linux操作系统。对于windows,步骤应该类似,大家可参考。
以下操作请事先确保Docker环境已经启动。
运行镜像可以产生容器,容器相当于一个虚拟linux系统,可以在里面安装程序和计算数据等。
镜像有两种方式获得:
- Dockerfile自己制作
- 网络下载
Dockerfile制作镜像
新建一个空文件夹
mkdir new_dir # new_dir 可以自定义其他名字
然后
cd new_dir
vim Dockerfile # 回车之后,Dockerfile打开,按字母键i,Dockerfile处于编辑状态。
注意:
Dockerfile的文件名必须是“Dockerfile”,
比如,不能是:Dockerfile.txt、dockerfile、Docker_File等等
复制以下内容,黏贴入Dockerfile。
注:
这里的Dockerfile在linux系统做过测试。
FROM centos
MAINTAINER your_name
RUN yum -y install vim
RUN yum -y install man
RUN yum -y install wget
RUN yum -y install make
RUN yum -y install less
RUN yum -y install gcc gcc-c++
RUN yum -y install gcc-gfortran
RUN yum -y install libg2c.so.0
RUN yum -y install bzip2-devel
RUN yum -y install zlib-devel
RUN yum -y install zip unzip
RUN yum -y install xz-devel.x86_64
RUN yum -y install readline-devel
RUN yum -y install libXt-devel
WORKDIR /software
RUN wget -c https://cloud.r-project.org/src/base/R-2/R-2.15.3.tar.gz
RUN tar -xvzf R-2.15.3.tar.gz
WORKDIR /software/R-2.15.3
RUN ./configure
RUN make
WORKDIR /software
RUN wget -c http://www.cpan.org/src/5.0/perl-5.26.1.tar.gz
RUN tar -xvzf perl-5.26.1.tar.gz
WORKDIR /software/perl-5.26.1
RUN sh Configure -de
RUN make
RUN make install
按ESC,然后按shift+z+z(连续按下两次z)(此系列操作,要求输入法为英文状态)
以上内容便写入了Dockerfile。
然后在当前文件夹内运行如下命令开始自动制作镜像。
docker build -t author/image_name:tag . # 最后点号表示当前目录,不能缺少
# author image_name 都可以自定义, tag为版本号,可以设为latest
上述Dockerfile制作的镜像有一个基础镜像:centos,也可以认为基础操作系统。
并配置了很多常用功能,安装了常用软件python、R、Perl等。
需要运行镜像产生容器,并在容器内部设置环境变量。
在容器内部
cd /root
vim .bashrc # 打开.bashrc文件。.表示隐藏文件
在bashrc文件末尾加入
export PATH="/software/R-2.15.3/bin:$PATH"
然后保存退出:按ESC,然后按shift+z+z(连续按下两次z)
source .bashrc
网络下载镜像
Docker镜像下载网站
搜索镜像,比如搜索RNA-seq相关镜像。
搜索结构页面右侧有DETAILS等。
点击DETAILS,进入镜像主页,
镜像主页有镜像简介,右侧有下载命令行:
docker pull image_name
有的镜像已经安装了很多软件。不过有可能仍然缺少很多软件、应用或功能,比如make,vim等,
而且有可能由于该镜像基础操作系统的缘故,安装缺少软件比较困难。
此时可以自己下载一个基础镜像,然后按照如下步骤配置镜像。
点击mac屏幕下方的Launchpad,然后搜索term(term即终端)。
在终端输入如下命令,Pull一个Docker基础镜像centos
docker pull centos
运行镜像产生一个容器
docker run -it centos
此时已经进入容器(退出容器等操作在“Docker容器”)。容器基础操作系统为centos。缺少很多东西,需要一一配置。
首先安装vim,然后剩下的安装配置过程可以通过编写一个shell文件自动化完成。大约耗时20分钟。
如果觉得编写shell文件有困难,以下shell脚本可以手动执行。
具体过程如下
安装vim
yum -y install vim
打开一个空shell文件
vim myinstall.sh
复制如下shell脚本到myinstall.sh内。此shell文件会自动安装包括:R-2.15.3,perl-5.26.1等
yum -y install less
yum -y install man
yum -y install vim
yum -y install wget
yum -y install make
yum -y install gcc gcc-c++
yum -y install gcc-gfortran
yum -y install bzip2-devel
yum -y install zlib-devel
yum -y install zip unzip
yum -y install xz-devel.x86_64
yum -y install libg2c.so.0
yum -y install readline-devel
yum -y install libXt-devel
mkdir software
cd /software
wget -c https://cloud.r-project.org/src/base/R-2/R-2.15.3.tar.gz
tar -xvzf R-2.15.3.tar.gz
cd /software/R-2.15.3
./configure
make
cd /root
echo "export PATH=\"/software/R-2.15.3/bin:\$PATH\"" >> .bashrc
cd /software
wget -c http://www.cpan.org/src/5.0/perl-5.26.1.tar.gz
tar -xvzf perl-5.26.1.tar.gz
cd /software/perl-5.26.1
sh Configure -de
make
make install
执行shell脚本
bash myinstall.sh
等脚本执行完毕之后,再做如下操作
cd /root
source .bashrc
如果大家还有其他需求,可以参照上面shell文件内容和网络资料,自行添加。