上次参考教程本地部署 ShareLatex成功在本地部署sharelatex后,大概是因为没有docker commit
,几周之后因为机子一次重启,docker sharelatex恢复到了修改之前的样子,这次再修的时候顺便记录一下。
docker相关
docker-compose操作
1 | docker-compose up -d # |
docker commit
1 | [sparta@localhost ~]$ docker commit sharelatex sharelatex/sharelatex:full-texlive-install |
字体安装
参考Linux 手动安装字体
其实只要把字体放到相应目录下(一般是/usr/share/fonts/
)然后刷新字体缓存就可以了
1 | sudo fc-cache -fv #刷新字体缓存 |
docker与主机的文件拷贝
1 | docker cp foo.txt mycontainer:/foo.txt #主机到docker |
惨痛经历
自己整的时候犯傻好几次:
- 因为电脑重启了一次,重启服务的时候sharelatex进的是没有重新安装texlive的版本(原始拉下来的),记起来没有commit的话docker似乎不能保存更改,于是得重新装一次texlive
- 然而在安装到一半的时候我
docker images
一看发现之前是commit过一次的。于是中断了texlive的下载,但是,我把docker-compose.yml的sharelatex的image指定为commit了的版本,但是还是不行。 - 于是删掉了sharelatex的image重新开始。
- 然后又犯傻了一次,如果镜像有改动,
docker-compose up -d
会重新从源拉取一次,所以,我又犯傻把安装好的texlive覆盖掉了…… - 没事别
docker-compose up -d
!!!
还是有一个很关键的问题:在docker-compose.yml的sharelatex的image指定为commit了的版本后如何能生效???