Galaxy Project(https://galaxyproject.org/)是很多年前在云计算背景下诞生的一个生物信息学可视化分析开源项目, 是目前生物医学研究领域最受欢迎的在线生物信息分析工具之一。其源码从 2015 年起从 bitbucket 转移至 GitHub 托管,目前在 GitHub 上有 372 个 star,166 个贡献者。
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
纯服务器下的 Galaxy 安装非常简单,我们今天主要关注的是基于 Docker 下的 Galaxy 安装和部署。
1. 安装 Docker
$ wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm
$ sudo yum install /path/to/docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm
参考:
https://docs.docker.com/engine/installation/linux/docker-ce/centos
1.1. Docker 存放路径设置
默认情况下 Docker 的存放位置为 /var/lib/docker
, 可以通过下面命令查看具体位置:
$ sudo docker info | grep "Docker Root Dir"
大多数情况下,我们系统盘的空间都比较少,因此需要考虑修改 docker 默认的存储位置,以 CentOS 7 为例,我们修改镜像和容器的 docker 服务文件,使用 -g 参数指定存储位置:
vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --graph /new-path/docker
// reload配置文件
systemctl daemon-reload
// 重启docker
systemctl restart docker.service
更多 docker 默认的存储位置修改,可以参考:《四个修改Docker默认存储位置的方法》
1.2. Docker 免 sudo 使用
sudo 安装 docker 后,当以普通用户身份去使用 docker images 时,出现 permission denied
错误:
Got permission denied while trying 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 属组,解决该权限问题:
# 将当前用户加入该 group 内。然后退出并重新登录
sudo gpasswd -a ${USER} docker
# 重启 docker 服务
sudo systemctl restart docker.service
2. 安装 Docker Galaxy
$ docker run -d -p 8080:80 -p 8021:21 -p 8022:22 bgruening/galaxy-stable
命令解释:
docker run
,用于 Image/Container 执行。如果容器在本地没有安装,docker 会自动下载并安装。-p 8080:80
,该命令会把容器内的80
端口映射到本地8080
端口。另外的8021
、8022
端口分别对应了用于数据传输的 FTP、SFTP 协议端口。bgruening/galaxy-stable
,这是 galaxy 的镜像/容器名称,该名称指向了 galaxy 的 docker index:https://hub.docker.com/r/bgruening/galaxy-stable/-d
,表明该命令以守护进程(后台程序)的方式运行该 docker
Docker Galaxy 安装完成,在浏览器打开 “http://您的服务器ip:8080”,即可看到安装成功的界面。
本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。