上接华为云鲲鹏安装Docker跑ShareLatex【失败放弃】
环境准备 新机子到手首先
1sudo apt update
2sudo apt upgrade
安装Docker
参考ubuntu 18.04 安装docker ce卸载旧版本Docker,新机子不用,给重装的老机子用。
1sudo apt-get remove docker docker-engine docker.io
安装包以允许通过HTTPS使用存储库
1sudo apt-get install \
2 apt-transport-https \
3 ca-certificates \
4 curl \
5 software-properties-common
添加Docker的官方GPG密钥
1curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
确认指纹
1sudo apt-key fingerprint 0EBFCD88
设置稳定存储库,默认最新版
1sudo add-apt-repository \
2 "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
3 $(lsb_release -cs) \
4 stable"
再次更新apt包索引
1sudo apt-get update
安装最新版本的Docker CE
1sudo apt-get install docker-ce
查看Docker CE 版本
1docker -v
通过运行hello-world映像验证是否正确安装了Docker CE
1sudo docker run hello-world
学生机上述过程丝滑流畅,毫无问题。突然有点想念刚刚退掉的鲲鹏,他可是折磨了我两天,为他茶不思饭不想!
Docker-compose
docker/compose官网仓库有发布最新的版本,同时也给出了命令行安装方法。
1curl -L https://github.com/docker/compose/releases/download/1.25.0-rc4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2chmod +x /usr/local/bin/docker-compose
如果你要是嫌服务器自己curl速度慢的话可以再终端中uname -s-uname -m看自己服务器的参数选择对应版本下载即可,浏览器中下载还挺快的,推荐下载神器IDM,然后用ftp把下载的docker-compose文件传到服务器,再对应地修改目录加权限。

上传好后验证文件完整性
1sha512sum docker-compose-Linux-x86_64
我下载的是docker-compose-Linux-x86_64.1.23.0,官网给出的值是5b6f948a264a2c018a124b3cae0ce788f14b94a37ab05ca3ba3bb8622f5b7d0b,然而我换了几个版本的我验证出来的sha56值都不是这个,大约是我搞错了验证方式?不过能用的就可以。

移动到/usr/local/bin/文件夹并加权限。
1mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
2chmod +x /usr/local/bin/docker-compose
测试Docker-compose 可用
1docker-compose -v

安装Sharelatex
拉取镜像
1sudo docker pull sharelatex/sharelatex
参考ShareLaTeX安装、配置与部署新建文件夹
1cd ~
2mkdir sharelatex
3cd sharelatex
4mkdir sharelatex_data
5mkdir mongo_data
6mkdir redis_data
下载overleaf官方的docker-compose.yml到sharelatex文件夹下。


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

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

到这里就换到使用Docker部署ShareLaTex并简单配置中文环境的教程来,进入容器的命令行(sharelatex容器本质上是一个Ubuntu)
1docker exec -it sharelatex bash
下载并运行升级脚本
1wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
2sh update-tlmgr-latest.sh -- --upgrade

更换texlive的下载源,例如国内的清华源
1tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/
升级tlmgr
1tlmgr update --self --all
安装完整版texlive(漫长的等待,不要让shell断开)
1tlmgr install scheme-full

等上一步跑完,退出sharelatex的命令行界面,并重启sharelatex容器
1exit
2docker restart sharelatex
然后在浏览器打开你的IP地址,如果改了端口的加上对应端口,第一次使用会提示注册管理员账号。

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

参考overleaf-Chinese和]LaTeX技巧856:在overleaf平台上使用CTeX可以直接使用Ubuntu自带的字体无需自己手动安装字体。
1\documentclass{article}
2\usepackage{CJKutf8}
3\begin{document}
4
5\begin{CJK*}{UTF8}{gbsn}
6\section{前言}
7\section{关于数学部分}
8数学、中英文皆可以混排。You can intersperse math, Chinese and English (Latin script) without adding extra environments.
9\end{CJK*}
10
11\bigskip %% Just some white space
12You can also insert Latin text in your document
13\bigskip %% Just some white space
14
15\begin{CJK*}{UTF8}{bsmi}
16這是繁體中文。
17\end{CJK*}
18
19\begin{CJK}{UTF8}{min}
20\section{これは最初のセクションである}
21日本語で \LaTeX の組版を実証するための導入部分。
22フォントはまた、数学的な形態および他の環境で使用することができる
23\end{CJK}
24
25\bigskip
26Outside the environment Latin characters may be used.
27
28\begin{CJK}{UTF8}{}
29\CJKfamily{mj}
30전체 문서에 대한 기본 정보를 소개 단락.
31\begin{verbatim}
32그것은 간격 방법을 참조 그대로 글꼴을 테스트
33\end{verbatim}
34\end{CJK}
35
36Latin characters are also allowed.
37
38\end{document}


Quick Start Guide官网还有像设置https,设置语言一类的教程,感兴趣可以再看看。


