测试中。。。
前言
做事想问题,目的要明确,并且一定要着眼于未来, 云计算越来越火了,将来的服务器都会是云的形式,使用者完全不必管硬件系统等乱七八糟的事,希望那几台破服务器少出问题,我真心没有激情,精力去倒腾那些玩意!
现在docker是很好的东西,2013年开始的项目,前些年就知道,可惜没有重视,现在才发现它真心好!
centos 真的很稳定, ubuntu什么的太花哨,经常出问题,安装软件看似简单,实际bug太多,超级麻烦!也许适合专业人士使用吧。闻道有先后,术业有专攻,人的精力毕竟是有限的,我的专业是生物信息学,不是系统运维,要抓住问题的主要矛盾,时间花在刀刃上!
年纪大了越来越啰嗦!
docker 安装centos,并且配置
docker安装看这里
pull 和配置。
pull 后直接进去,都写在一个脚本里吧,以后好复制
#去docker hub上选一个喜欢的centos基础镜像,我感觉这个还不错!
docker run -it vergissberlin/centos-development:latest bash
#安装环境
#这个很大的,大概3G
yum -y group install developer-workstation-environment
yum -y group install compat-libraries
#安装development tool
yum group install -y 'Development Tools'
yum install -y openssl-devel libcurl-devel
yum install xml2
sudo yum install yum-axelget
#安装R
yum install -y epel-release
yum install -y R
yum update -y && yum upgrade
#安装python
yum install -y python
yum install -y python-pip
yum install python34
yum install python34-pip
sudo yum install curl-devel
一些配置参考
常用R 包
题外话
install.packages("devtools")
library(devtools)
install_github("igraph/rigraph")
detach("package:devtools")
source("https://bioconductor.org/biocLite.R")
options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")
biocLite("org.Dr.eg.db", suppressUpdates=T)
biocLite("org.Mm.eg.db" , suppressUpdates=T)
biocLite("org.Hs.eg.db", suppressUpdates=T)
biocLite("clusterProfiler", suppressUpdates=T)
biocLite("Rgraphviz" ,suppressUpdates=T)
biocLite("DOSE", suppressUpdates=T)
biocLite("pathview", suppressUpdates=T)
biocLite("clusterProfiler", suppressUpdates=T)
source("http://bioconductor.org/workflows.R")
workflowInstall("rnaseqGene")
一些配置
#修改root
passwd
#创建用户
#修改系统时间
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
容器 建立ssh
https://www.jianshu.com/p/9e4d50ddc57e
启动容器
docker run -it -p 10022:22 -p 8788:8787 -v /data2:/data2 --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /tmp/$(mktemp -d):/run --name centos_my_1125 local/c7-my-0125:latest
# /usr/sbin/init
#启动ssh
/usr/sbin/sshd
docker run -it -p 22325:22 -p 8789:8787 -v /data2:/data2
/usr/sbin/sshd
容器保存
配置好后,记住容器ID b860117d5106,忘了也没关系,命令docker ps -a
查看刚刚退出的容积id即可,保存这个容器变成镜像!
docker commit -m 'fix hisat2_jun2bed.py and unmask' -a 'Docker rnacocktail' 961bcbc2bc85 marghoob/rnacocktail:fixed
其中,-m 来指定提交的说明信息,跟我们使用的版本控制工具一样;-a 可以指定更新的用户信息;之后是用来创建镜像的容器的 ID;最后指定目标镜像的仓库名和 tag 信息。创建成功后会返回这个镜像的 ID 信息。
container 备份以及恢复
#先commit,保存container的快照成image
docker commit -m 'ubuntu for work 01/26' 6b5dd866787a local/ubuntu:work_0126
#save image
docker save -o ubuntu_work_0126.tar local/ubuntu:work_0126
#恢复就是load
docker load -i ubuntu_work_0126.tar
https://linux.cn/article-5967-1.html
参考的blog太多,我就不一一列举了,反正又不是发文章!
http://blog.51cto.com/welcomeweb/1735251