Docker
Last updated
Last updated
We provide a Linux docker, which is a modern solution of setting up a virtual Linux OS.
1. 安装并运行docker程序:
从docker官网下载Mac或Windows版本的docker程序,下载注册docker账号,然后安装。安装完成后,需要检查软件是否正常运行,docker官网有docker get started,例如MAC用户可以按照进入get started地址,按照提示启动并设置Docker Desktop。
这里推荐阅读两篇Docker安装教程,分别是《macOS 安装 Docker》和《Windows 10 PC 安装 Docker CE》,来自于《Docker——从入门到实践》书,这本书对Docker进行了深入浅出的讲解,对于初学者理解和学习docker技术有所帮助。另外,网上也有很多docker教程,有深入学习兴趣的同学可以自行检索学习。
2. 装载docker镜像文件:
首先下载该教程的配套文件,bioinfor_docker.bar,到本地目录,例如,下载到桌面~/Desktop。
注意: 该教程默认操作路径:/User/your_account(你的电脑用户名)/Desktop/bioinfo_docker.bar
输入命令 docker load < ~/Desktop/bioinfor_docker.tar
(注意空格),如果load
成功,则输出以下内容:
qianqiandexiaopingguodeMacBook-Pro:~ daisy$ docker load < ~/Desktop/bioinfor_docker.tar db9476e6d963: Loading layer [==================================================>] 83.62MB/83.62MB 3a89e0d8654e: Loading layer [==================================================>] 15.87kB/15.87kB 904d60939c36: Loading layer [==================================================>] 10.24kB/10.24kB a20a262b87bd: Loading layer [==================================================>] 5.632kB/5.632kB b6f13d447e00: Loading layer [==================================================>] 3.072kB/3.072kB 82143e17d6a8: Loading layer [==================================================>] 1.081GB/1.081GB 88376dbb6a81: Loading layer [==================================================>] 75MB/75MB 3374281cd25f: Loading layer [==================================================>] 107.4MB/107.4MB 270db015b4b1: Loading layer [==================================================>] 238MB/238MB a79214c809ab: Loading layer [==================================================>] 149MB/149MB 5d983e72cca3: Loading layer [==================================================>] 992.5MB/992.5MB Loaded image: ubuntu:latest
有以下两种操作:
方法一:自动运行并进入docker镜像,输入docker run -it ubuntu:latest
命令 ,如果run
成功进入镜像,则输出以下内容(注意:此时docker自动创建并进入了ID为148601f6edf1的容器):
root@148601f6edf1:/#
方法二:创建并进入一个名为“bioinfo“的容器,输入命令,docker run -it --name=bioinfo -h bioinfo ubuntu:latest
如果创建成功,则输出以下内容:
root@bioinfo:/#
创建新用户cs
,并进入cs
目录。此过程需要经过创建新用户
、设置用户密码
、修改用户信息
、修改目录所有者
、切换用户身份
五个步骤,输入命令分别如下所示:
创建新用户:useradd -m cs -s /bin/bash
设置用户密码:passwd cs
输出如下
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
修改用户信息:usermod -aG sudo cs
修改目录所有者:chown -R root /home/cs
切换用户身份:su cs
例如
输入命令exit
,则会一层一层退出,直到进入terminal用户界面。
例如
第一步,输入detach
命令快捷键ctrl+p+q
,暂停当前容器,不会停止,容器仍在运行,可以输入docker ps
查看;
第二步,输入命令docker attach bioinfo
,则可恢复。
例如
第一步,输入docker ps
,查看当前运行的容器,输入命令 docker stop bioinfo
,停止bioinfo容器,效果等同于bioinfo运行状态下使用exit
命令;
第二步,输入命令docker start bioinfo
,启动bioinfo容器;
第三步,输入命令docker attach bioinfo
,则可进入。
例如
删除镜像image前必须先删除此镜像所应用的所有容器containers,删除镜像的命令是rmi
,删除容器的镜像是rm
。例如,输入命令docker images
,查看所有镜像,本此示例删除dongzhuoer/lulab:base 镜像。
例如
第一步,输入命令 docker ps -a
,查询所有容器,dongzhuoer/lulab:base的image版本下只有bio容器,然后输入容器删除命令docker rm contianer_name or ID
,此处要删除name=bio的容器;
第二步,输入镜像删除命令docker rmi image_version or ID ,此处要删除dongzhuoer/lulab:base;
最后可以通过docker images
命令查看镜像是否还存在。
上图所示的命令是新建name=bioinfo容器,并将bioinfo容器中的Desktop下路径挂载到mac主机桌面上的bioinfo文件夹中。
因此,在mac的terminal终端输入docker 挂载宿主机目录命令前,必须确定两件事,第一件事是mac桌面上有bioinfo文件夹,没有则需要新创建;第二件事是已经load了ubuntu:latest 镜像。然后才能输入挂载主机目录的命令。
推荐使用挂载主机目录的方法创建的容器去练习本教程接下来的章节,在所有章节running scripts前切换docker工作目录到Desktop,最后你会发现所有inputs&outputs的文件都会同步到mac桌面的bioinfo文件夹中,便于管理和查看结果。同时,从本地添加到bioinfo文件夹下面的文件或子文件夹,也可以在docker中ls
查看。
so,同步的前提是,工作目录与挂载主机目录一致。也就是说,在所有章节running scripts前切换docker工作目录到Desktop,也就是输入 cd Desktop
命令,否则将无法同步,如下图所示。
根据教程指导,安装Docker,load本教程提供的ubuntu:latest镜像,完成Running Scripts部分的基础操作练习,然后尝试更多的镜像和容器管理操作,例如容器创建、查看、启动、终止、删除等。