Latex + Vscode Remote containers
配置 Vscode Remote containers Latex 环境
资料来源:
https://github.com/nelsond/docker-texlive/blob/master/Dockerfile
https://github.com/alexpovel/latex-extras-docker/blob/master/Dockerfile#L187更新
1
22021.05.22 初始
2021.08.02 更新一点内容
导语
折腾 Latex 环境很长时间,最后还是回到了 Docker + vsc 远程.
虽然配置略坑,但是基本能做到配置一次,全平台运行.
问题
- linux 下运行文件权限尚未处理
- 镜像带有 git 但默认未挂载 ssh key,暂时不可用.
前日谭
这里不再详述 Remote containers 的内容了.参考 Create a development container 和 Advanced Container Configuration.
之后有机会再填坑吧…
使用
项目地址 -> docker_texlive
1 | git clone https://github.com/Jasper-1024/docker_texlive.git |
正常在 vsc 打开
镜像
texlive
为了定制化,这里 texlive 镜像需要自编译.参考:
https://github.com/nelsond/docker-texlive/blob/master/Dockerfile
https://github.com/alexpovel/latex-extras-docker/blob/master/Dockerfile#L187
DockerHub
- 基于 Debian 10
- texlive 2021
- 大小在 4.55G
- 到底还是为了避免缺失选择了 full 安装,因此容量无法控制…
1 | docker pull jasperhale/texlive:latest |
Dockerfile
1 | FROM debian:10 |
自行编译要 2 个多小时,主要瓶颈是安装 texlive 的网络问题.即使托管到 Github Action 也需要 1.5 小时.
其他
还可以使用 texlive 官方镜像 texlive/texlive
- 每周更新
- latest 是 4.51 G
寻求更小镜像,可以尝试 alexpovel/latex
- 只有 1.5G
- 近乎 full.
Remote containers 配置
主要是 devcontainer.json
devcontainer.json
是配置 vsc 启动连接容器,安装插件,修改配置等.
为了方便修改容器,devcontainer.json
中使用 docker-compose 启动容器.
devcontainer.json
现有的配置寻求极简,更多复杂高级的功能尚未添加.
主要注释已经添加.
1 | { |
settings
部分是容器环境下 vsc 的设置.
- 优先级高于用户/工作区已有设置.
- 这部分和 Vscode + Latex 环境踩坑#配置 保持一致.
docker-compose
docker-compose 负责启动配置容器
- 挂载工作目录,linux 下还有额外的文件权限处理.
- 特别注意,
command: /bin/sh -c "while sleep 1000; do :; done"
避免容器默认命令执行失败/完毕导致容器退出.
1 | version: "3.7" |
相关文献
texlive 安装命令
TeX Live - Quick install