本文小编为大家详细介绍“如何使用Dockerfile制作生物信息分析基础镜像”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用Dockerfile制作生物信息分析基础镜像”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
Dockerfile 是一个文本文件,其内包含了一条条的 指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
还以之前定制 centos7 镜像为例,这次我们使用 Dockerfile 来定制。
在一个空白目录中,建立一个文本文件,并命名为 Dockerfile:
$ mkdir mydocker $ cd mydocker $ touch Dockerfile
其内容为:
# Base image FROM centos:centos7 ################## METADATA ###################### LABEL base.image="centos:7" \ version="1" \ software="Biocontainers base Image" \ software.version="20200312" \ about.summary="Base image for 亿速云" \ about.home="www.亿速云.com" \ about.documentation=" " \ license=" " \ about.tags="Genomics,Proteomics,Transcriptomics,General,Metabolomics" ################## MAINTAINER ###################### MAINTAINER huangls <huang2002003@qq.com> #COPY Miniconda3-latest-Linux-x86_64.sh /tmp/miniconda.sh #ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 ENV PATH /biosoft/miniconda/bin:$PATH RUN yum -y update && yum upgrade -y \ && yum -y install bzip2 openssl openssh-clients\ cmake zlib libpng libpng12 libtiff libjpeg boost \ wget zip which less tree \ && yum clean all \ && mkdir -p /biosoft/miniconda \ && wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh \ && bash /tmp/miniconda.sh -bfp /biosoft/miniconda \ && rm -rf /tmp/miniconda.sh \ && ln -s /biosoft/miniconda/etc/profile.d/conda.sh /etc/profile.d/conda.sh \ && echo ". /biosoft/miniconda/etc/profile.d/conda.sh" >> ~/.bashrc \ && echo "alias e=\"less -S \"" >> ~/.bashrc \ && echo "alias ee=\"less -SN \"" >> ~/.bashrc \ && echo "alias l=\"ls -lhtr"\" >> ~/.bashrc \ && echo "alias ll=\"ls -lh\"" >> ~/.bashrc \ && echo "export PS1=\"\[\e[32m\][\[\e[35m\]\u\[\e[m\]@\[\e[36m\]\h \[\e[31m\] \t \w\[\e[32m\]]\[\e[36m\]#\[\e[m\]\"" >> ~/.bashrc \ #&& conda config --add channels bioconda \ #&& conda config --add channels conda-forge \ #&& conda config --add channels genomedk \ && conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ \ && conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/ \ && conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/mro/ \ && conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ \ && conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ \ && conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/ \ && conda config --set show_channel_urls yes \ && conda config --set ssl_verify no \ && conda clean --all --yes #RUN conda update conda -y && conda upgrade conda -y \ VOLUME ["/work"] # Overwrite this with 'CMD []' in a dependent Dockerfile CMD ["/bin/bash"] WORKDIR /work执行
$ docker build -t 亿速云/biocontainer-base:latest . Sending build context to Docker daemon 2.048 kB ...
所谓定制镜像,那一定是以一个镜像为基础,在其上进行定制。就像我们之前运行了一个 nginx 镜像的容器,再进行修改一样,基础镜像是必须指定的。而 FROM 就是指定 基础镜像,因此一个 Dockerfile 中 FROM 是必备的指令,并且必须是第一条指令。
RUN 指令是用来执行命令行命令的。由于命令行的强大能力,RUN 指令在定制镜像时是最常用的指令之一。
读到这里,这篇“如何使用Dockerfile制作生物信息分析基础镜像”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。