华为云学生机装ShareLatex

网友投稿 623 2022-05-29

在帖子 [交流吐槽] #化鲲为鹏,我有话说# 华为云安装Docker跑ShareLatex【失败放弃,复盘问题】下的第二回答,也可以直接打开我的博客 华为云学生机装ShareLatex查看

上接[华为云鲲鹏安装Docker跑ShareLatex【失败放弃】](https://blog.bugatii100peagle.cn/2019/11/08/%E5%8D%8E%E4%B8%BA%E4%BA%91%E5%AE%89%E8%A3%85ShareLatex/)

**环境准备**

新机子到手首先

```bash

sudo apt update

sudo apt upgrade

```

## 安装Docker

参考[ubuntu 18.04 安装docker ce](https://www.jianshu.com/p/83483c35bfcd)卸载旧版本Docker,新机子不用,给重装的老机子用。

```bash

sudo apt-get remove docker docker-engine docker.io

```

安装包以允许通过HTTPS使用存储库

```bash

sudo apt-get install \

apt-transport-https \

ca-certificates \

curl \

software-properties-common

```

添加Docker的官方GPG密钥

```bash

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

```

确认指纹

```bash

sudo apt-key fingerprint 0EBFCD88

```

设置稳定存储库,默认最新版

```bash

sudo add-apt-repository \

"deb [arch=amd64] https://download.docker.com/linux/ubuntu \

$(lsb_release -cs) \

stable"

```

再次更新apt包索引

```bash

sudo apt-get update

```

安装最新版本的Docker CE

```bash

sudo apt-get install docker-ce

```

查看Docker CE 版本

```bash

docker -v

```

通过运行hello-world映像验证是否正确安装了Docker CE

华为云学生机装ShareLatex

```bash

sudo docker run hello-world

```

学生机上述过程丝滑流畅,毫无问题。突然有点想念刚刚退掉的鲲鹏,他可是折磨了我两天,为他茶不思饭不想!

## Docker-compose

[docker/compose官网仓库](https://github.com/docker/compose/releases)有发布最新的版本,同时也给出了命令行安装方法。

```bash

curl -L https://github.com/docker/compose/releases/download/1.25.0-rc4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

```

如果你要是嫌服务器自己`curl`速度慢的话可以再终端中`uname -s`-`uname -m`看自己服务器的参数选择对应版本下载即可,浏览器中下载还挺快的,推荐下载神器IDM,然后用ftp把下载的docker-compose文件传到服务器,再对应地修改目录加权限。

![IDM下载神器](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/143845207.png)

上传好后验证文件完整性

```bash

sha512sum docker-compose-Linux-x86_64

```

我下载的是[docker-compose-Linux-x86_64.1.23.0](https://github.com/docker/compose/releases/download/1.23.0/docker-compose-Linux-x86_64),官网给出的值是`5b6f948a264a2c018a124b3cae0ce788f14b94a37ab05ca3ba3bb8622f5b7d0b`,然而我换了几个版本的我验证出来的sha56值都不是这个,大约是我搞错了验证方式?不过能用的就可以。

![sha56值与md5值](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/150005933.png)

移动到`/usr/local/bin/`文件夹并加权限。

```bash

mv docker-compose-Linux-x86_64  /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

```

测试Docker-compose 可用

```bash

docker-compose -v

```

![Docker-compse版本](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/150404006.png)

## 安装Sharelatex

拉取镜像

```bash

sudo docker pull sharelatex/sharelatex

```

参考[ShareLaTeX安装、配置与部署](https://zhuanlan.zhihu.com/p/54088512)新建文件夹

```bash

cd ~

mkdir sharelatex

cd sharelatex

mkdir sharelatex_data

mkdir mongo_data

mkdir redis_data

```

下载[overleaf官方的docker-compose.yml](https://raw.githubusercontent.com/sharelatex/sharelatex/master/docker-compose.yml)到`sharelatex`文件夹下。

![可以修改一下映射端口,我的没有冲突就不改了](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/165214592.png)

![配置文件中的端口,在安全组中开放](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/165332964.png)

使用docker-compose 启动部署

>第一次运行`docker-compose`会自动拖取镜像mongo和redis,我上一篇在鲲鹏上想尝试的手动安装mongodb代替docker-compose的功能就是这张图的启发。

![docker-compose在拖镜像](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/170601509.png)

```bash

sudo docker-compose up -d

```

`-d`参数可以让docker在后台执行,不加`-d`的话就会在终端输出一大串状态,而且你还得一直保持着终端挂着。

![似乎跑起来了](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/183643022.png)

到这里就换到[使用Docker部署ShareLaTex并简单配置中文环境](https://huanghailiang.github.io/2019/07/25/Docker-deployment-ShareLaTex/)的教程来,进入容器的命令行(sharelatex容器本质上是一个Ubuntu)

```bash

docker exec -it sharelatex bash

```

下载并运行升级脚本

```bash

wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh

sh update-tlmgr-latest.sh -- --upgrade

```

![新版本自动安装了2019所以更新应该不会太麻烦](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/184336774.png)

更换texlive的下载源,例如国内的清华源

```bash

tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/

```

升级tlmgr

```bash

tlmgr update --self --all

```

安装完整版texlive(漫长的等待,不要让shell断开)

```bash

tlmgr install scheme-full

```

![开始慢慢长征路](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/190049623.png)

等上一步跑完,退出sharelatex的命令行界面,并重启sharelatex容器

```bash

exit

docker restart sharelatex

```

然后在浏览器打开你的IP地址,如果改了端口的加上对应端口,第一次使用会提示注册管理员账号。

![胜利了,为了这一刻,我太难了](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/193127358.png)

中文编程使用xelatex,虽然有报错,但是不影响

![中文编译](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/195447922.png)

参考[overleaf-Chinese](https://cn.overleaf.com/learn/latex/Chinese#The_ctex_Bundle_Classes)和][LaTeX技巧856:在overleaf平台上使用CTeX](https://www.latexstudio.net/archives/7097.html)可以直接使用Ubuntu自带的字体无需自己手动安装字体。

```latex

\documentclass{article}

\usepackage{CJKutf8}

\begin{document}

\begin{CJK*}{UTF8}{gbsn}

\section{前言}

\section{关于数学部分}

数学、中英文皆可以混排。You can intersperse math, Chinese and English (Latin script) without adding extra environments.

\end{CJK*}

\bigskip  %% Just some white space

You can also insert Latin text in your document

\bigskip  %% Just some white space

\begin{CJK*}{UTF8}{bsmi}

這是繁體中文。

\end{CJK*}

\begin{CJK}{UTF8}{min}

\section{これは最初のセクションである}

日本語で \LaTeX の組版を実証するための導入部分。

フォントはまた、数学的な形態および他の環境で使用することができる

\end{CJK}

\bigskip

Outside the environment Latin characters may be used.

\begin{CJK}{UTF8}{}

\CJKfamily{mj}

전체 문서에 대한 기본 정보를 소개 단락.

\begin{verbatim}

그것은 간격 방법을 참조 그대로 글꼴을 테스트

\end{verbatim}

\end{CJK}

Latin characters are also allowed.

\end{document}

```

![pdflatex表现良好](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/200021665.png)

![CJK好](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/203313875.png)

[Quick Start Guide](https://github.com/overleaf/overleaf/wiki/Quick-Start-Guide)官网还有像设置https,设置语言一类的教程,感兴趣可以再看看。

Docker

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:让 AI “潜入”物流中心,你的快递很快就到!
下一篇:《敏 捷 教 练:如何打造优秀的敏捷团队》—4 建设敏捷团队
相关文章