Home
avatar

静静

华为云学生机装ShareLatex

上接华为云鲲鹏安装Docker跑ShareLatex【失败放弃】

环境准备 新机子到手首先

sudo apt update
sudo apt upgrade

安装Docker

参考ubuntu 18.04 安装docker ce卸载旧版本Docker,新机子不用,给重装的老机子用。

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

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

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

添加Docker的官方GPG密钥

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

确认指纹

sudo apt-key fingerprint 0EBFCD88

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

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

再次更新apt包索引

sudo apt-get update

安装最新版本的Docker CE

sudo apt-get install docker-ce

查看Docker CE 版本

docker -v

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

sudo docker run hello-world

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

Docker-compose

docker/compose官网仓库有发布最新的版本,同时也给出了命令行安装方法。

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下载神器

上传好后验证文件完整性

sha512sum docker-compose-Linux-x86_64

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

sha56值与md5值

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

mv docker-compose-Linux-x86_64  /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

测试Docker-compose 可用

docker-compose -v

Docker-compse版本

安装Sharelatex

拉取镜像

sudo docker pull sharelatex/sharelatex

参考ShareLaTeX安装、配置与部署新建文件夹

cd ~
mkdir sharelatex
cd sharelatex
mkdir sharelatex_data
mkdir mongo_data
mkdir redis_data

下载overleaf官方的docker-compose.ymlsharelatex文件夹下。

可以修改一下映射端口,我的没有冲突就不改了

配置文件中的端口,在安全组中开放

使用docker-compose 启动部署

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

docker-compose在拖镜像

sudo docker-compose up -d

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

似乎跑起来了

到这里就换到使用Docker部署ShareLaTex并简单配置中文环境的教程来,进入容器的命令行(sharelatex容器本质上是一个Ubuntu)

docker exec -it sharelatex bash

下载并运行升级脚本

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

新版本自动安装了2019所以更新应该不会太麻烦

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

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

升级tlmgr

tlmgr update --self --all

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

tlmgr install scheme-full

开始慢慢长征路

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

exit
docker restart sharelatex

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

胜利了,为了这一刻,我太难了

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

参考overleaf-Chinese和]LaTeX技巧856:在overleaf平台上使用CTeX可以直接使用Ubuntu自带的字体无需自己手动安装字体。

\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表现良好

CJK大法好

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

ShareLatex Docker 华为云