Docker部署ShareLaTeX

Docker部署ShareLaTeX

最近导师要我在服务器上搭一下ShareLaTeX,而且自己平常也会用到,所以在自己的服务器上也搭了一次,安装过程比较容易。本文记录一下部署和配置中文环境的过程。(造轮子)

本文安装环境:ubuntu 18.04 lts

安装Docker和docker-compose

  • 卸载旧版本,旧版本被叫做dockerdocker.io或者docker-engine
sudo apt-get remove docker docker-engine docker.io containerd runc
  • 更新apt包索引,并允许apt通过https更新repo
sudo apt update
sudo apt-get install     apt-transport-https     ca-certificates     curl     gnupg-agent     software-properties-common
  • 添加Docker的官方 GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  • 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥 。
$ sudo apt-key fingerprint 0EBFCD88

pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <[email protected]>
sub   rsa4096 2017-02-22 [S]
sudo add-apt-repository    "deb [arch=amd64] https://download.docker.com/linux/ubuntu    $(lsb_release -cs)    stable"
  • 安装docker,顺便安装docker-compose
sudo apt update
sudo apt install docker-ce
sudo apt install docker-compose
  • 将当前用户加入docker组,注销当前会话,重新登录后生效
sudo gpasswd -a ${USER} docker

安装ShareLaTeX

本文使用官方向导建议的使用docker-compose快速部署ShareLaTeX的方式。ShareLaTex的安装依赖mongoDB和Redis,通过 docker-compose部署时直接这两者也一起部署了。

  • 拉取ShareLaTeX镜像

    $ docker pull sharelatex/sharelatex
  • 下载docker-compose.yml文件,并进行配置。
    $ mkdir -p ~/sharelatex          # 在用户目录下创建一个sharelatex文件夹
    $ cd ~/sharelatex                # 进入sharelatex文件夹
    $ curl -O https://raw.githubusercontent.com/sharelatex/sharelatex/master/docker-compose.yml                      # 下载官方的docker-compose.yml配置文件
    $ sudo vim docker-compose.yml     # 使用vi修改配置文件
  • 下面是我修改的几项,其余项可根据需要自行修改
    # 修改本地挂载目录
    volumes:
      - /home/docker/sharelatex:/var/lib/sharelatex
    
    # 修改mongo和redis的本地挂载目录
    # mongo
    volumes:
      - /home/docker/mongo_data:/data/db
    # redis
    volumes:
      - /home/docker/redis_data:/data
  • 通过docker-compose.yml创建并运行ShareLaTeX容器
    # 在sharelatex目录下
    $ docker-compose up -d
  • 升级并安装完整版Texlive
    # 进入sharelatex容器
    $ docker exec -it sharelatex bash
    
    # 进入texlive默认安装目录
    $ cd /usr/local/texlive
    
    # 下载并运行升级脚本
    $ wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
    $ sh update-tlmgr-latest.sh -- --upgrade
    
    # 更换Texlive的下载源,例如清华tuna源
    $ tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/
    
    # 升级tlmgr
    $ tlmgr update --self --all
    
    # 更新字体缓存
    $ luaotfload-tool -fu
    
    # 安装完整版texlive(不要让shell断开,想离开的可以用nohup)
    $ tlmgr install scheme-full
    
    # 退出sharelatex的命令行界面,并重启sharelatex容器
    $ exit
    $ docker restart sharelatex
  • 使用ShareLaTeX

    进入浏览器访问http://XXXX(IP)/launchpad,创建Admin账户。

配置中文环境

  • 将Windows字体库(即目录C:\windows\fonts)上传到服务器,我直接用Xftp传的

    # 进入fonts目录
    $ cd fonts/
    
    # 删除其中的.fon字体文件(其他文章中写道不删会报错)
    $ rm -r *.fon
    
    # 返回上层目录并打包
    $ cd ..
    $ tar -zcvf fonts.tar.gz fonts/
    
    # 把打包文件传到sharelatex容器的root目录下
    $ docker cp fonts.tar.gz sharelatex:/root
  • 在容器中安装Windows字体
    # 进入sharelatex容器
    $ docker exec -it sharelatex bash
    
    # 安装xfonts-wqy工具
    $ apt-get install xfonts-wqy
    
    # 进入root目录,解压fonts.tar.gz,并移动到系统字体目录下
    $ cd ~
    $ tar -zxvf fonts.tar.gz
    $ mv fonts /usr/share/fonts/
    
    # 进入字体目录安装字体
    $ cd /usr/share/fonts/fonts
    $ mkfontscale
    $ mkfontdir
    $ fc-cache -fv
    
    # 检查确认中文字体安装成功
    $ fc-list :lang=zh-cn

安装其他字体时,流程同上。

参考链接

Overleaf Quick Start Guide

Get Docker Engine - Community for Ubuntu

Install Docker Compose

Tex Live Upgrade

Typeset Chinese documents on Overleaf

部署sharelatex并配置中文

Docker部署ShareLaTeX并简单配置中文环境

原文地址:https://www.cnblogs.com/fusluv/p/12536302.html

时间: 2024-11-08 23:14:09

Docker部署ShareLaTeX的相关文章

【Docker江湖】之docker部署与理解

转载请注明出处:http://blog.csdn.net/gamer_gyt 博主微博:http://weibo.com/234654758 Github:https://github.com/thinkgamer Docker江湖 [Docker江湖]之Docker部署与理解 [Docker江湖]之hub上镜像的使用,Dockerfile语法解读和数据管理 [Docker江湖]之创建带有SSH服务的镜像 写在前边的话 在之前便想学习Docker技术了,可是一直没有机会,近期在做elk的一个项目

Centos7 下面安装docker 部署Nginx

实验 环境 Centos 7 操作系统 安装docker yum install docker -y 查看docker 是否安装成功 docker -v Docker version 1.12.6, build 3a094bd/1.12.6 启动docker systemctl start docker 部署Nginx 获取基础镜像 docker pull nginx:1.10.3 查看 镜像 1.直接启动容器 docker run -d -p 8080:80 nginx:1.10.3 解释:

docker&#39;部署

环境:ubuntu-14.04.4-server-amd64 1.更换阿里云源 备份源配置文件: $ sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup $ sudo vim /etc/apt/sources.list 删除文件内容,更新为: deb http://mirrors.aliyun.com/ubuntu trusty main restricted deb-src http://mirrors.aliyun.com/u

docker部署tomcat乱码和系统时间不对处理

docker部署好程序后访问中文是乱码,(针对centos 6镜像) docker默认为POSIX 在Dockerfile 里添加 ENV         LANG         en_US.UTF-8 系统时间为UTC时间差8小时 在Dockerfile里添加 RUN     /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN     /bin/echo -e "ZONE="Asia/Shanghai"

docker部署gitlab

由于docker部署gitlab比较方便,于是用docker部署gitlab,安装步骤如下: 我拿的虚拟机做的测试,系统是centos 7.1,我ip是192.168.12.234. docker安装以及基础知识这里就不说了 1. 下载gitlab镜像 docker pull gitlab/gitlab-ce 2. 运行gitlab实例 mkdir -pv /data/gitlab/{config,logs,data} GITLAB_HOME="/data/gitlab" docker

Docker学习笔记三:Docker部署Java web系统

Docker部署Java Web系统 1.在root目录下创建一个路径test/app mkdir test && cd test&& mkdir app &&cd app 2.将apache-tomcat-7.0.29.tar.gz及jdk-7u25-linux-x64.tar.gz拷贝 到app目录下 3.解压两个tar.gz文件 tar -zxvf apache-tomcat-7.0.29.tar.gz tar -zxvf jdk-7u25-linux

使用Docker部署PHP应用的设计方案

1. Docker Docker的官方定义是: Docker allows you to package an application with all of its dependencies into a standardized unit for software development. -- https://www.docker.com/whatisdocker 毫无疑问的是,Docker解决了应用部署上一个巨大的问题: 客户: 安装好了,用不了. 发布者:我的机器上没问题. 如何解决每

手把手教你用Docker部署一个MongoDB集群

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中最像关系数据库的.支持类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引.本文介绍了如何使用Docker搭建MongoDB集群. 本文我会向大家介绍如何使用Docker部署一个MongoDB集群,具体如下: 2.6.5版本的MongoDB 有3个节点的副本集(Replica set) 身份验证 持久化数据到本地文件系统 首先要准备三个运行的Docker服务器,这意味着你

基于VS2017的Docker Support体检ASP.NET Core站点的Docker部署

最近在学习如何用 Docker 部署生产环境中的 ASP.NET Core 站点,作为一个 Docer 新手,从何处下手更容易入门呢?一开始就手写 Docker 配置文件(Docfile, docker-compose.yml)容易让人产生挫败感,想到 Visual Studio 2017 对 Docker 的支持(Docker Support),也许借助它自动生成Docker配置文件.初步体验一下 Docker 部署是一个入门捷径,遂据此想法尝试了一下,感觉不错. 1. 启用 VS2017 的