千家信息网

如何使用Dockerfile制作生物信息分析基础镜像

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,本文小编为大家详细介绍"如何使用Dockerfile制作生物信息分析基础镜像",内容详细,步骤清晰,细节处理妥当,希望这篇"如何使用Dockerfile制作生物信息分析基础镜像"文章能帮助大家解决疑惑
千家信息网最后更新 2025年01月18日如何使用Dockerfile制作生物信息分析基础镜像

本文小编为大家详细介绍"如何使用Dockerfile制作生物信息分析基础镜像",内容详细,步骤清晰,细节处理妥当,希望这篇"如何使用Dockerfile制作生物信息分析基础镜像"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

使用 Dockerfile 定制镜像

Dockerfile 是一个文本文件,其内包含了一条条的 指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。

还以之前定制 centos7 镜像为例,这次我们使用 Dockerfile 来定制。

在一个空白目录中,建立一个文本文件,并命名为 Dockerfile:

$ mkdir mydocker$ cd mydocker$ touch Dockerfile

其内容为:

# Base imageFROM 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 #COPY Miniconda3-latest-Linux-x86_64.sh /tmp/miniconda.sh#ENV LANG=C.UTF-8 LC_ALL=C.UTF-8ENV PATH /biosoft/miniconda/bin:$PATHRUN 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 DockerfileCMD ["/bin/bash"]WORKDIR /work执行

执行得到镜像

$ docker build -t /biocontainer-base:latest .Sending build context to Docker daemon 2.048 kB...

FROM 指定基础镜像

所谓定制镜像,那一定是以一个镜像为基础,在其上进行定制。就像我们之前运行了一个 nginx 镜像的容器,再进行修改一样,基础镜像是必须指定的。而 FROM 就是指定 基础镜像,因此一个 Dockerfile 中 FROM 是必备的指令,并且必须是第一条指令。

RUN 执行命令

RUN 指令是用来执行命令行命令的。由于命令行的强大能力,RUN 指令在定制镜像时是最常用的指令之一。

读到这里,这篇"如何使用Dockerfile制作生物信息分析基础镜像"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

0