依旧是领导拥抱AI的一天,要求搭建一个自然语言预料标注平台,来生产适合业务的生产数据,但是服务器都是离线的。
并且屡次部署httpd+brat出问题(由于安全内核SeLinux的问题,我已经设置关闭,但是依旧出现拒绝chmod,chgrp,chcon所以被折磨多了,就想来点简单的)
有一个好消息服务器架构是x86_64的,并且装好docker了,坏消息服务器是断网的,我觉得这个坏消息问题不大,因此我们决定使用docker
如果大家以后有自己的需求需要从虚拟机上迁移镜像,建议看完全部,如果只是想要快速部署可以跳到第5步开始
1.虚拟机安装docker
首先我们使用VMware虚拟机装一个centos7系统,大家应该懂怎么弄一个虚拟机吧,要是不懂等我出一期哈,然后我们在虚拟机上使用yum,yum install docker安装一个docker
问你什么你都要yes,来下载各种依赖包,下载完之后使用docker --version来检查docker是否下载成功,与其环境是否正确
然后我们将docker加入到系统服务,并且设置开机自启动systemctl enable docker,并且开启docker,systemctl start docker
2.虚拟机上docker拉取brat镜像
. 使用docker指令,docker serch brat检查brat的镜像有哪几个,之前看了某讯云的某位名为webj2eedev的兄弟,它的docker镜像高低有问题,因此建议大家用官方的版本。
AUTOMATED下为[ok]的指的是官方版本的docker images
所以我们无脑使用docker pull brat(有可能第一次会失败,所以失败了你可能需要一些操作)
使用全称进行下载 docker pull docker.io/cassj/brat
现在需要你慢慢等待下载...
3.docker使用镜像生成容器进行部署
这里显示下载成功,我们尝试启动该镜像服务,使用如下命令(官方使用的是80端口映射80端口,但是80端口一般被占用,因此我们选了一个比较远的7070端口)
docker run --name=dockerbrat -d -p 7070:80 -v brat-data:/bratdata -v brat-cfg:/bratcfg -e BRAT_USERNAME=brat -e BRAT_PASSWORD=brat -e [email protected] cassj/brat
这里就是成功启动了容器,然后我们使用ifconfig检查本机ip地址
本机地址为192.168.15.131因此我们使用http://132.122.1.207:7070/index.xhtml#/来访问brat
我们总不可能一直将东西部署在虚拟机上,因此我们需要把这个docker迁移到服务器上,服务器是离线的,因此最好的办法就是将镜像下载,然后使用xhsell传送到服务器上
4.从虚拟机中将docker镜像下载到本地
首先查看docker镜像,使用命令docker images
使用docker命令docker save 3e6 > dockerbrat.tar打包镜像(3e6是docker镜像的iamge id)
如果你使用的是Xshell,那么使用下载工具sz命令,sz dockerbrat.tar将镜像下载到笔记本上
不要介意我一直跳来跳去哈,因为懒得去点,没什么差别的,都是交互式命令行
这一步就是把东西下载电脑,放桌面就算了,反正等下都删掉就好了
这个时候能做的只有等待...
5.将docker镜像导入服务器
上面的1-4步是从虚拟机上安装docker并且通过dockerhub拉取镜像进行服务安装,然后将镜像从虚拟机中导出为tar包,如果大家只想要快速部署,可以在如下网盘连接,下载tar包
百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/18rI975DnA7WVYhy-vLSKgg?pwd=PY00下载完毕后直接将这个tar包传到服务器上
然后在这个目录下使用命令,docker load < dockerbart.tar进行镜像加载
使用docker命令,docker images展示所有安装镜像,注意最后一个就是主要的,但是没有tag和name,所以需要使用命令docker tag 3e6 dockerbrats:latest来配置tag和name(这个随意,没什么要求,不加也行,docker主要需要image_id)
其实到这里镜像已经加载完毕,所以我们只需要根据image_id挂载镜像,使用命令
docker run --name=dockerbrat -d -p 7070:80 -v brat-data:/bratdata -v brat-cfg:/bratcfg -e BRAT_USERNAME=brat -e BRAT_PASSWORD=brat -e [email protected] dockerbrats
同样的跟上面虚拟机的操作一至,你需要确认你的ip地址,然后http://+你的ip+/index.xhtml#/来访问使用brat
到这里over,剩下的中文设置so easy,后面再更(相信你们自己可以找到教程,主要是我想下班了,拜拜)