为了充分利用二手不出去的烂设备…我决定自己搭服务器积累经验…考虑到搭建的东西的移植性, 使用docker放在容器内执行, 这样以后方面迁移与使用.
安装
环境系统使用manjaro, 毕竟这个我最熟悉. 并且archwiki能为许多奇怪的问题提供帮助, 安装docker的话很简单:
1 | sudo pacman -S docker |
为加快镜像(images)拉取速度, 设施dockerhub的国内镜像源(registry mirror), 配置文件是/etc/docker/daemon.json
, 配置完成后执行sudo systemctl restart docker
:
1 | { |
镜像创建及镜像内部操作
准备在镜像内安装R并安装sscClust
包, 公司的服务器是CentOS6, 所以使用拉取相应镜像:
1 | docker pull centos:6 |
但是在进行了上述拉取之后, 一直不能正常的运行镜像, 根据这里的描述, 似乎这是官方镜像有问题, 所以改为拉取了centos:7
, 确实在更换版本后正常启动.
1 | docker run -dti IMAGE_ID /bin/bash |
登陆后安装vim, 对环境变量作基本设置, 然后开始安装R
1 | yum -y install epel-release |
补充R包安装需要的一些系统软件包
1 | yum install -y openssl-devel libcurl-devel libxml2-devel gsl-devel |
之后进入R开始安装sscClust
(安装R本来就会自动安装一大堆依赖, 安装这个包的时候会有更多依赖…)
1 | options("repos" = c(CRAN="https://mirrors.ustc.edu.cn/CRAN/")) |
如果网络没有特别问题, sscClust
应该是能够顺利安装的, 最后将docker容器的更改保存为一个镜像(image), 保存完成后会显示一串sha256值, 使用docker images
可看到已经保存下来的镜像
1 | docker commit CONTAINER_ID r/sscclust |