Docker镜像

以下内容基于mac和linux操作系统。对于windows,步骤应该类似,大家可参考。

以下操作请事先确保Docker环境已经启动。

运行镜像可以产生容器,容器相当于一个虚拟linux系统,可以在里面安装程序和计算数据等。

镜像有两种方式获得:

  1. Dockerfile自己制作
  2. 网络下载

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镜像下载网站

  1. https://hub.docker.com
  2. https://store.docker.com

搜索镜像,比如搜索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文件内容和网络资料,自行添加。

results matching ""

    No results matching ""