I. Docker Manual

下载Docker软件

从(https://www.docker.com/get-docker) 下载操作系统对应的Community Edition的docker软件。例如Mac系统可从(https://store.docker.com/editions/community/docker-ce-desktop-mac) 下载,之后安装并启动docker。
之后在命令行下输入以下命令:
1
docker ps
Copied!
如果无错误信息,说明docker可以正常使用。
注意:在Linux系统下,需要使用以下命令将用户加入到docker用户组才能使用docker:
1
sudo usermod -aG dockr <user>
Copied!
其中<user>是自己的用户ID。

构建Docker镜像

新建一个名为Dockerfile的文件,添加以下内容:
1
FROM ubuntu:16.04
2
3
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak \
4
&& echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse" > /etc/apt/sources.list \
5
&& echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse" >> /etc/apt/sources.list \
6
&& echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse" >> /etc/apt/sources.list \
7
&& echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse" >> /etc/apt/sources.list \
8
&& echo "deb http://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/linux/ubuntu xenial/" >> /etc/apt/sources.list
9
RUN gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9 \
10
&& gpg -a --export E084DAB9 | apt-key add - \
11
&& apt-get update \
12
&& apt-get install -y vim r-base r-base-dev perl python \
13
&& apt-get clean
14
15
WORKDIR /work
16
CMD ["/bin/bash"]
Copied!
然后运行:
1
docker build -t lulab/bioinfo-training .
Copied!
之后会生成一个名为lulab/bioinfo-training的镜像,其中-t选项用于指定镜像的名称。
通过docker images命令可查看生成镜像的信息和大小.

使用Docker容器

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

运行以下命令将会从镜像lulab/bioinfo-training启动新的容器:
1
docker run -it lulab/bioinfo-training --name=<container name>
Copied!
默认会在容器中运行一个/bin/bash程序,进入交互式命令行状态。<container name>是容器的名称。
bash退出后,相应的容器也自动退出。这时用docker ps -a状态可看到容器处于停止状态。

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

另一种启动docker的方式是在启动时加上-d参数,让容器在后台运行:
1
docker run -dt lulab/bioinfo-training --name=<container name>
Copied!
这时不会进入交互式界面,但是可用docker ps命令看到容器处于运行状态。

进入已有容器(交互式)

对于交互式运行,并且已停止的容器,需要先用以下命令重新启动容器:
1
docker start <container name>
Copied!
然后用以下命令重新进入交互式界面:
1
docker attach <container name>
Copied!

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

对于已经启动的容器,运行以下命令可在容器中运行新的程序(/bin/bash):
1
docker exec -it <container name> /bin/bash
Copied!

停止容器

运行:
1
docker stop <container name>
Copied!
可终止容器中所有的进程,但不删除数据。此时可用docker ps -a命令查看停止的容器。

删除容器

对于已经停止的容器,运行:
1
docker rm <container name>
Copied!
可删除容器的数据。此时用docker ps -a命令不再能查看到。
Last modified 3yr ago