docker 版本 overleaf 挂载本地卷

Linux(群晖)系统,安装过程中提示权限不够,发现是挂载的目录权限不够。典型的报错有:

  • 未使用sudo安装
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', PermissionError(13, 'Permission denied'))
  • docker对宿主目录没有访问权限
ERROR: for sharelatex Container "e578da9bf818" is unhealthy.

用如下命令查看日志后发现是权限问题:

#docker logs -f jms_core --tail 200 
  • 或者安装好overleaf但是无法上传文件,无法编译,查看目录下没有文件。

出现这些情况我们要修改目录权限,具体做法如下:

  1. 事先创建好相应的目录,如:
mkdir -p /volume1/documents/sharelatex/sharelatex
mkdir -p /volume1/documents/sharelatex/mongo_data
mkdir -p /volume1/documents/sharelatex/redis_data
  1. 将目录修改为所有人可完全控制,也可使用命令:
chmod 755 /volume1/documents/sharelatex/redis_data
chmod 755 /volume1/documents/sharelatex/mongo_data
chmod 755 /volume1/documents/sharelatex/redis_data

在filestation里,右键属性,修改目录权限

  1. 下载好docker-compose.yml文件后,修改docker-compose.yml文件中的volumes选项中挂载目录的选项。共有三个目录:sharelatex, mongo_data, redis_data, 我们将它们挂到host的相应目录下。格式为dir_in_host:dir_in_image。
sharelatex:
	volumes:
    	- /volume1/documents/sharelatex/sharelatex:/var/lib/sharelatex
...
mongo:
	volumes:
    	- /volume1/documents/sharelatex/mongo_data:/data/db
...
redis:
	volumes:
    	- /volume1/documents/sharelatex/redis_data:/data

继续执行

docker-compose up -d

安装即可。

附:
如下教程参考,备份防丢失https://www.bilibili.com/read/cv6547551/https://blog.csdn.net/han____shuai/article/details/95351026

  1. 安装Docker

确保服务器已经安装了Docker和docker-compose。如果没有,可以通过以下命令安装。

sudo apt-get install docker-ce docker-ce-cli containerd.io
pip install docker-compose

查看版本,检查是否安装成功

docker --version
docker-compose --version
  1. 安装Overleaf

通过docker安装Overleaf的开源版本sharelatex

docker pull sharelatex/sharelatex
  1. 配置Overleaf
wget https://raw.githubusercontent.com/sharelatex/sharelatex/master/docker-compose.yml
sudo vim docker-compose.yml

需要修改的就是ports: - 80:80,一般80端口都被apache或nginx占用了,改用其他端口如:ports: - 5000:80。

其他可根据需要修改,如挂载位置等。(见正文

  1. 启动Overleaf

在docker-compose.yml所在路径下执行

docker-compose up -d
  1. 安装完整texlive

先进入docker容器,在docker中安装编译所需的完整的texlive

docker exec -it sharelatex bash
wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
sh update-tlmgr-latest.sh
tlmgr install scheme-full &

安装过程,十分漫长,总共需要安装近4000个包,应该就是要装一晚上的节奏,为了避免shell断掉加上 &,回车后可以看到安装过程。
如果过慢可以尝试换源:

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

再执行update和install。

  1. 引入Windows字体

首先安装xfonts工具

# apt update
# apt-cache search wqy
# apt-get install xfonts-wqy

然后复制windows的字体
windows下字体在 C:\windows\fonts
复制到/usr/share/fonts/winfonts

// docker copy
$ docker cp winfonts.tar.gz sharelatex:/root
// move to target dir
# cd ~
# tar zxvf winfonts.tar.gz
# mv winfonts /usr/share/fonts/

然后

# cd /usr/share/fonts/winfonts
# mkfontscale
# mkfontdir
# fc-cache -fv

如果报错:

Couldn't determine slant for vga936.fon
Couldn't determine weight for vga936.fon
Couldn't get family name for vga936.fon
Couldn't determine full name for vgaoem.fon
Couldn't determine slant for vgaoem.fon
Couldn't determine weight for vgaoem.fon

删掉这些字体

  1. 使用Overleaf

打开浏览器访问http://hostname:5000/launchpad,创建Admin账户,愉快的玩耍吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值