1、安装
可以直接使用“sudo”命令行安装,但是安装之后运行时遇到“Got permission deniedwhiletrying to
connect to the Docker daemon socket at unix:///var/run/docker.sock: Get
http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial
unix/var/run/docker.sock: connect: permission
denied”问题,大致说是:docker进程使用Unix Socket而不是TCP端口。而默认情况下,Unix
socket属于root用户,需要root权限才能访问。
此时可以通过以下方法解决:
1、 使用 sudo -s 获取管理员权限,运行docker命令
2、docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix
socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix
socket了,进而也就可以执行docker相关命令;
sudo groupadd docker #添加docker用户组
sudo gpasswd -a$USERdocker #将登陆用户加入到docker用户组中
newgrp docker #更新用户组
docker ps #测试docker命令是否可以使用sudo正常使用
2、常用命令
1、创造一个镜像:docker run -it
ubuntu:18.04(无此镜像,docker会自动pull一个);之后进入生成的容器终端,容器内终端进行操作,如安装a:apt-get
install update;b:apt-get install
bowtie2;c:安装bowtie2之后会直接运行报错,需要安装pip,所以apt-get install
python-pip;之后根据需要安装自己的软件
2、查看所有镜像:docker images;查看正在运行容器:docker
ps;查看所有容器:docker ps -a;删除镜像:docker rmi image_id;删除容器:docker rm
container_id ;进入特定某一容器:docker exec -it container_id
/bin/bash(若不行,可以先:sudo docker start container_id。进入容器运行:docker exec
-it container_id /bin/bash);本地终端开启运行容器:sudo docker start
container_id;本地终端关闭运行容器:sudo docker stop 23a86ebbcbc3;强制删除容器:docker rm
-f container_id
3、dockerfile,创建镜像(docker当前目录下进入终端):使用docker build -t image_id '.';
4、将本地文件夹挂载到容器文件夹,可以使用 run中的 -v 选项,,运行docker run -it -v '本地文件绝对路径':/home/data '镜像名' /bin/bash,若镜像中有/home/data文件,则会挂载此目录,若无则会建立此文件夹,可以 cd /home/data 到目录使用 ls 查看文件内容。若想将文件挂载到现有容器,可以使用commit命令将现有容器生成一个新的镜像,再执行前述操作!
本地文件复制到容器内:docker cp pathtofile containerID:containerPATH(容器长ID可通过:docker inspect '容器名' 获得)
5、查看容器详细信息(可以看到容器的配置信息和挂载的本地目录、网络配置、状态等):docker inspect container_id;
6、镜像和容器的导出与导入
镜像的导出:docker save image_id > '生成的压缩包路径及名称'
镜像的导入:docker load < 'images_id:即上步生成的压缩包ID'
容器的导出:docker export container_id > '生成的压缩包路径及名称'
容器的导入:docker import '生成的压缩包路径及名称';(容器导入之后会生成一个新的镜像,此时可以
docker images查看新的镜像文件)
REPOSITORY TAG IMAGE ID CREATED SIZE
无标签,无仓库名的为新生成的镜像,运行新的镜像即可
镜像和容器 导出和导入的区别:
1.镜像导入 是复制的过程
2.容器导入 是将当前容器 变成一个新的镜像
save 和 export区别:
1)save 保存镜像所有的信息-包含历史
2)export 只导出当前的信息
3、安装HiC-Pro
1、首先将下载好的HiC-Pro文件夹,由本地复制到容器内:docker cp 本地路径 容器长ID:容器路径 。。(容器长ID可通过:docker inspect '容器名' 获得)
2、打开容器:docker exec -it 5267e5c /bin/bash
3、根据HiC-Pro的install文件安装其依赖环境包,因为是基础镜像,所以下载软件较多。apt-get直接安装的有bowtie2、samtools等
4、同时还需要R,安装前先更新:apt-get update
之后可以安装r-base:apt-get install base,不过此方式安装的R为3.4.4版本
5、安装install文件中提到的R和python依赖包:
进入R安装三个依赖包,
>install.packages("ggplot2")
>install.packages("RcolorBrewer")
>install.packages("grid")
python包可以在终端使用 pip 直接进行安装,共5个依赖包(一般自动下载的版本号符合要求)
pip install bx-python/numpy/scipy/pysam/argparse
6、修改配置文件config-install.txt,将其中的bowtie2、samtools、R、python路径修改为容器内其对应路径后保存
7、cd 到HiC-Pro文件夹下,终端执行命令:
make CONFIG_SYS=config-install.txt install
安装成功!之后会提示你安装位置在哪,如:HiC-Pro installed in /usr/local/bin/HiC-Pro_2.11.1
此时你可在终端输入下方命令来检查是否安装成功!
/usr/local/bin/HiC-Pro_2.11.1/bin/HiC-Pro -h