DockerTeX 与 DockerTeXstudio 是提供多版本TeX Live环境的Docker镜像,基于Debian和Ubuntu系统构建,包含完整的LaTeX包(texlive-full)及常用配套工具(如biber、make、gnuplot等)。DockerTeX提供命令行LaTeX环境,DockerTeXstudio在此基础上集成TeXstudio GUI编辑器,支持直接连接本地X服务器运行,适用于本地文档编辑和持续集成(CI)场景,确保跨环境LaTeX文档编译的一致性。
texlive2016)或发行版代号(如jessie)指定。texlive-full包,涵盖几乎所有常用LaTeX模块,无需额外安装基础组件。armhf-texlive2016),适配不同硬件环境。可通过TeX Live版本或发行版代号指定镜像标签,主要标签信息如下:
| TeX Live版本 | Docker标签 | 发行版 | 发行版Docker标签 | 说明(LaTeX/ARM LaTeX/TeXstudio Dockerfile及信息) | 备注 |
|---|---|---|---|---|---|
| 2012 | texlive2012 | Debian | wheezy | LaTeX Dockerfile、TeXstudio Dockerfile | EOL²;最后支持的TeXstudio版本¹:2.12.10-2 |
| 2013 | texlive2013 | Ubuntu | trusty | LaTeX Dockerfile、TeXstudio Dockerfile | EOL²;最后支持的TeXstudio版本¹:2.12.14-1 |
| 2014 | texlive2014 | Debian | jessie | LaTeX/ARM LaTeX Dockerfile、TeXstudio Dockerfile | EOL²;最后支持的TeXstudio版本¹:2.12.14-1 |
| 2015 | texlive2015 | Ubuntu | xenial | LaTeX/ARM LaTeX Dockerfile、TeXstudio Dockerfile | EOL²;最后支持的TeXstudio版本¹:2.12.22-1 |
| 2016 | texlive2016 | Debian | stretch | LaTeX/ARM LaTeX Dockerfile、TeXstudio Dockerfile | armhf/latest、arm64/latest标签;最后支持的TeXstudio版本¹:3.1.2 |
| 2017 | texlive2017 | Ubuntu | bionic | LaTeX/ARM LaTeX Dockerfile、TeXstudio Dockerfile | - |
| 2018 | texlive2018 | Debian | buster | LaTeX/ARM LaTeX Dockerfile、TeXstudio Dockerfile | - |
| 2019 | texlive2019 | Ubuntu | focal | LaTeX/ARM LaTeX Dockerfile、TeXstudio Dockerfile | - |
| 2020 | texlive2020 | Debian | bullseye | LaTeX/ARM LaTeX Dockerfile、TeXstudio Dockerfile | - |
| 2021 | texlive2021 | Ubuntu | jammy | LaTeX/ARM LaTeX Dockerfile、TeXstudio Dockerfile | latest标签 |
| 2022 | texlive2022 | Debian | bookworm | LaTeX/ARM LaTeX Dockerfile、TeXstudio Dockerfile | testing标签(开发中) |
¹ TeXstudio不再为该Linux发行版提供构建,容器使用最后可用版本;² 发行版已终止支持(EOL),无更新但镜像仍可使用。
需安装Docker或Podman CLI。DockerTeXstudio镜像包含DockerTeX所有功能,若已安装DockerTeXstudio,DockerTeX会自动使用其镜像以节省磁盘空间。首次使用时,工具会提示拉取所需镜像。
用于在容器中运行LaTeX命令,挂载当前工作目录并保持文件所有权。
bashdockertex [-t|--tag 标签名] 命令
编译document.tex(使用TeX Live 2016):
bashdockertex --tag texlive2016 pdftex document.tex
使用Makefile编译(使用Debian Jessie发行版对应的TeX Live版本):
bashdockertex --tag jessie make all
默认标签:设置DOCKERTEX_DEFAULT_TAG指定默认标签,无需每次使用--tag:
bashexport DOCKERTEX_DEFAULT_TAG="texlive2016"
容器引擎:默认优先使用Podman,若需指定Docker,设置DOCKERTEX_ENGINE:
bashexport DOCKERTEX_ENGINE="docker" # 或 "podman"
用于启动TeXstudio GUI,挂载用户主目录,支持配置持久化、Synctex跳转和LanguageTool集成。
bashdockertexstudio [-t|--tag 标签名] [-v|--volume 映射]* [texstudio选项]
启动TeXstudio(使用最新标签):
bashdockertexstudio --tag latest
挂载额外卷(如将/media/git/映射到容器内/home/git/):
bashdockertexstudio --tag texlive2016 --volume /media/git/:/home/git/
使用x11docker(增强安全性):
bashx11docker --network=host --share $HOME raabf/texstudio-versions:texlive2019
dockertexstudio --help可查看路径。.tex文件(需文件路径内外一致)。使用Docker时若出现“Authorization required, but no authorization protocol specified”,需在宿主执行:
bashxhost local:root
(允许root用户访问本地X服务器)。
若仍有认证问题,可能需要将宿主xauth list生成的令牌传递给容器,参考项目issue。
若提示找不到显示,尝试修改dockertexstudio.sh中的--env='DISPLAY'为-e DISPLAY=unix$DISPLAY。
通过zsh插件管理器(如zplug)安装,可自动更新。支持安装TeXstudio菜单条目。
在~/.zshrc中添加:
zshzplug raabf/dockertex, \ from:gitlab, \ hook-build:"./posthook.sh --menu-tag latest --menu-volume /media/ext/=/home/ext/"
--menu-tag指定菜单条目使用的标签,--menu-volume用=替代:指定额外卷映射。
适用于非zsh用户,支持安装CLI和菜单条目。
bashcurl [***] | bash -s -- --menu-tag latest --menu-volume "/media/ext/:/home/ext/"
bashcurl [***] | bash -s -- --system --menu-tag latest --menu-volume /media/ext/:/home/ext/
复制CLI脚本到PATH目录:
bashsudo cp bin/dockertex.sh /usr/local/bin/dockertex sudo cp bin/dockertexstudio.sh /usr/local/bin/dockertexstudio chmod a+x /usr/local/bin/dockertex*
复制TeXstudio图标:
bashcp misc/icons/hicolor/scalable/apps/texstudio.svg /usr/local/share/icons/hicolor/scalable/apps/
创建菜单条目:
bashcp misc/dockertexstudio.desktop /usr/local/share/applications/dockertexstudio-stretch.desktop echo "Name=Docker TexStudio (stretch) Exec=/usr/local/bin/dockertexstudio --tag latest %F Icon=/usr/local/share/icons/hicolor/scalable/apps/texstudio.svg" >> /usr/local/share/applications/dockertexstudio-stretch.desktop
注册Runner:在安装Docker的服务器上注册Runner,选择docker执行器:
bashsudo gitlab-runner register --url [***] --executor "docker" --tag-list "docker, latex, dockertex" --docker-image "raabf/latex-versions:latest"
配置.gitlab-ci.yml:
yaml--- stages: - latex before_script: - lsb_release --all - latex --version make_texlive2016: image: raabf/latex-versions:texlive2016 stage: latex tags: - docker script: - make all artifacts: paths: - ./thesis.pdf expire_in: 1 week make_texlive2017: image: raabf/latex-versions:texlive2017 stage: latex tags: - docker script: - make all artifacts: paths: - ./thesis.pdf expire_in: 1 week
上述配置在不同TeX Live版本下编译文档,生成
thesis.pdf作为制品并保留1周。
项目托管于GitLab,欢迎通过issues反馈问题或提交贡献。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429