Training @ Lu Lab
Lu Lab Docs
  • Home
    • Training @ Lu Lab
  • Drylab Training
    • Genomics
      • RNA Types in Genome
  • Wetlab Training
    • Wetlab Safety Guide
    • Wetlab FAQ
  • Archive
    • Archive 2021
      • cfDNA Methylation
      • Genomic Annotation
    • Archive 2019 - Wetlab Training
      • Class I. Basics
        • 1. Wet Lab Safety
        • 2. Wet Lab Regulation
        • 3. Wet Lab Protocols
        • 4. How to design sample cohort
        • 5. How to collect and manage samples
        • 6. How to purify RNA from blood
        • 7. How to check the quantity and quality of RNA
        • 8. RNA storage
        • 9. How to remove DNA contanimation
        • 10. What is Spike-in
      • Class II. NGS - I
        • 1. How to do RNA-seq
        • 2. How to check the quantity and quality of RNA-seq library
        • 3. What is SMART-seq2 and Multiplex
    • Archive 2019 - Drylab Training
      • Getting Startted
      • Part I. Programming Skills
        • Introduction of PART I
        • 1.Setup
        • 2.Linux
        • 3.Bash and Github
        • 4.R
        • 5.Python
        • 6.Perl
        • Conclusion of PART I
      • Part II. Machine Learning Skills
        • 1.Machine Learning
        • 2.Feature Selection
        • 3.Machine Learning Practice
        • 4.Deep Learning
      • Part III. Case studies
        • Case Study 1. exRNA-seq
          • 1.1 Mapping, Annotation and QC
          • 1.2 Expression Matrix
          • 1.3.Differential Expression
          • 1.4 Normalization Issues
        • Case Study 2. exSEEK
          • 2.1 Plot Utilities
          • 2.2 Matrix Processing
          • 2.3 Feature Selection
        • Case Study 3. DeepSHAPE
          • 3.1 Background
          • 3.2 Resources
          • 3.3 Literature
      • Part IV. Appendix
        • Appendix I. Keep Learning
        • Appendix II. Public Data
        • Appendix III. Mapping Protocol of RNA-seq
        • Appendix IV. Useful tools for bioinformatics
      • Part V. Software
        • I. Docker Manual
        • II. Local Gitbook Builder
        • III. Teaching Materials
  • Archive 2018
Powered by GitBook
On this page
  • 下载Docker软件
  • 构建Docker镜像
  • 使用Docker容器
  • 启动一个新的docker容器 (交互式)
  • 启动一个新的docker容器(后台运行)
  • 进入已有容器(交互式)
  • 进入已有容器(后台运行)
  • 停止容器
  • 删除容器
Edit on GitHub
  1. Archive
  2. Archive 2019 - Drylab Training
  3. Part V. Software

I. Docker Manual

Last updated 3 years ago

下载Docker软件

从() 下载操作系统对应的Community Edition的docker软件。例如Mac系统可从() 下载,之后安装并启动docker。

之后在命令行下输入以下命令:

docker ps

如果无错误信息,说明docker可以正常使用。

**注意:**在Linux系统下,需要使用以下命令将用户加入到docker用户组才能使用docker:

sudo usermod -aG dockr <user>

其中<user>是自己的用户ID。

构建Docker镜像

新建一个名为Dockerfile的文件,添加以下内容:

FROM ubuntu:16.04

RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak \
&& echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse" > /etc/apt/sources.list \
&& echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse" >> /etc/apt/sources.list \
&& echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse" >> /etc/apt/sources.list \
&& echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse" >> /etc/apt/sources.list \
&& echo "deb http://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/linux/ubuntu xenial/" >> /etc/apt/sources.list
RUN gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9 \
&& gpg -a --export E084DAB9 | apt-key add - \
&& apt-get update \
&& apt-get install -y vim r-base r-base-dev perl python \
&& apt-get clean

WORKDIR /work
CMD ["/bin/bash"]

然后运行:

docker build -t lulab/bioinfo-training .

之后会生成一个名为lulab/bioinfo-training的镜像,其中-t选项用于指定镜像的名称。

通过docker images命令可查看生成镜像的信息和大小.

使用Docker容器

启动一个新的docker容器 (交互式)

运行以下命令将会从镜像lulab/bioinfo-training启动新的容器:

docker run -it lulab/bioinfo-training --name=<container name>

默认会在容器中运行一个/bin/bash程序,进入交互式命令行状态。<container name>是容器的名称。

bash退出后,相应的容器也自动退出。这时用docker ps -a状态可看到容器处于停止状态。

启动一个新的docker容器(后台运行)

另一种启动docker的方式是在启动时加上-d参数,让容器在后台运行:

docker run -dt lulab/bioinfo-training --name=<container name>

这时不会进入交互式界面,但是可用docker ps命令看到容器处于运行状态。

进入已有容器(交互式)

对于交互式运行,并且已停止的容器,需要先用以下命令重新启动容器:

docker start <container name>

然后用以下命令重新进入交互式界面:

docker attach <container name>

进入已有容器(后台运行)

对于已经启动的容器,运行以下命令可在容器中运行新的程序(/bin/bash):

docker exec -it <container name> /bin/bash

停止容器

运行:

docker stop <container name>

可终止容器中所有的进程,但不删除数据。此时可用docker ps -a命令查看停止的容器。

删除容器

对于已经停止的容器,运行:

docker rm <container name>

可删除容器的数据。此时用docker ps -a命令不再能查看到。

https://www.docker.com/get-docker
https://store.docker.com/editions/community/docker-ce-desktop-mac