华为云鲲鹏安装Docker跑ShareLatex【失败放弃】
双十一当我舍友在纠结剁手买哪条漂亮裙子,哪个闪亮包包时,我在纠结剁手买哪家的服务器。双十一周我都在疯狂剁手服务器,就是为了能搞一个 ShareLatex 玩玩,之前阿里的学生机跑的服务太多,带不动了。我数数,弄了个博客,一个 Nodeppt, 一个 Nextcloud 网盘,一个图床,一个 JupyterLab
魔装C内核与 grads 。
如果能再有一台服务器就好了,可是阿里的学生认证只能用一次,而阿里云学生机以外的套餐仿佛在嘲讽我的钱包一般。

于是,我盯上了其他两大云服务器商腾讯和华为,果然也有学生套餐。腾讯云的不说了,初次体验不太好,带宽低,啥都干不了。华为云的我趁着活动抢到一个免费15天的鲲鹏。

But,毕竟不是熟悉的Ubuntu,熟悉的X86,要吃饭还得自己造锅。我记得阿里的镜像中像camke,gcc一类的东西时默认安装的,上手就用,我从来没有操心过这些底层一类的问题。我一般的习惯会安装一个宝塔面板或者WDCP,安装Docker-compose的时候也各种报错,直到我看到WDPC的提示,没有安装gcc!即使这样,饭还是要吃,锅那就造吧。
安装Docker
参考鲲鹏云服务器 Docker 安装指南(CentOS 7.5/Ubuntu 18.04)此处使用Centos7.5,我从Ubuntu换过来的,Ubuntu下面的问题太烦,走不通,我也懒得去纠结了。


行得通的步骤【失败了,留着以后复盘】
环境准备 安装GCC
默认的yum源非常慢,参考CentOS 7 rpm安装gcc 详解可以戳下面这个链接
http://mirror.centos.org/altarch/7/os/aarch64/Packages/
下载如下几个rpm包,注意与图中不同的时不要x86_64是aarch64。


下载好后,用Winscp或者MobaXterm的左边栏文件夹上传到服务器,在终端输入如下命令,会自动按顺序安装。
rpm -Uvh *.rpm --nodeps --force
安装Dockers
yum repolist all查询仓库状态,设置为“enabled”状态
yum-config-manager --enable "CentOS-7 - Extras - mirrors.huaweicloud.com"这一步有时会提示yum-config-manager: command not found ,参考CentOS7: yum-config-manager: command not found解决方案如下:
yum -y install yum-utilsyum-config-manager完了以后,执行以下命令安装Docker的依赖包。
sudo yum install -y yum-utils device-mapper-persistent-data lvm2卸载旧版本,一般新机器不需要,啥都没有卸啥。给需要重装的朋友:
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate配置软件仓库。
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo安装docker-ce。
sudo yum install docker-ce docker-ce-cli containerd.io我到这一步就成功了,如果还没有成功或者网速太慢的朋友可以参考原帖鲲鹏云服务器 Docker 安装指南(CentOS 7.5/Ubuntu 18.04)通过下载软件包安装的方式安装。
测试Docker
docker run hello-world如果出现执行docker ps命令,出现 “Cannot connect to the Docker daemon at unix:///var/run/docker.sock. …”问题那是你Docker服务没开,service docker start就行。
装mongo的时候手滑选了什么关闭iptable firewalld selinux 之类的重启后登录不了,只有刷机重装。第二次,一堆报错。




退订买学生机


安装Sharelatex
首先拖镜像
docker pull sharelatex/sharelatex华为云的速度倒是挺快的,差不多十分钟吧就拖下来了。
docker-compose问题
[交流分享] 鲲鹏平台安装docker-compose参考我退订了才发现这个帖子,或许可以解决,有精力的同学可以试试,我先缓缓,折腾不动了。
拖下镜像后无论是overleaf官网的Quick Start Guide,还是国内仅有的几篇sharelatex教程:使用Docker部署ShareLaTex并简单配置中文环境,ShareLaTeX安装、配置与部署都要求使用docker-compose up来跑sharelatex的镜像,可是docker-compose的安装又十分有问题。我参考bash: docker-compose: command not found中的两种方法,github和pip安装都没解决问题,pip安装报错”ImportError: No module named collections”,然而我也没有找到好的解决办法。
安装pip3,用pip3装compose,我就不信了。
yum -y install python3-pip
pip3 install docker-compose
参考Python踩坑之路,Command “python setup.py egg_info” failed with error code 1,嗯,依旧没有解决,无论是pip还是pip3。


解决方案
参考ArchLinux 部署ShareLaTex并且配置中文支持了解到,之所以要docker-copose是因为要sharelatex还要安装mongodb及redis这两鬼东西才能跑,而docker-compose的功能就是自动安装并通过端口把sharelatex与mongodb及redis通过端口连接。换句话说,如果我们手动安装mongodb及redis,手动配置端口,人肉代替docker-compose的功能的话,理论上这个装不上的docker-compose不用装也可以。那么,可能就是手动安装会麻烦些。
安装redis
yum install redis修改配置文件/etc/redis.conf,开放ip。

安装mongobd 【成功拖下镜像,不带端口参数可run,但是没用】
[交流吐槽]#化鲲为鹏,我有话说# 求鲲鹏云 ubuntu 安装mongodb教程 论坛大佬给了一个Ubuntu的Mongodb下载链接,不过似乎使用也有问题,可以留着以后试一试。
Mongodb在Centos上需要手动编译安装,而且官网也只有x86_64的版本。
不过,我记得在阿里云学生机上成功安装ShareLatex成功Docker-compose的时候,Docker-compose执行了pull mongo类似的命令,那么,我们现在既然有了Docker,当然要用起来啊,大胆地pull!

参考centos中docker mongodb 配置配置密码,虽然ArchLinux 部署ShareLaTex并且配置中文支持中说到在公网要关闭27017端口,但是我们正是为了要访问,而且也可以通过配置密码的方式来保护。


其他
安装宝塔面板 【失败】
在安装GCC之后,检查你的云服务器安全组。放行如下端口

然后在终端运行
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh可能会提示出错,缺少某个模块。面向Bing或者Google搜索安装方法补上就行。


