Texlive Docker Container
Types of containers
All versions of the containers are based on
ubuntu:rolling (see the tags for the published list).
These containers are the installation of the TeXLive script over docker.
- Minimal (adnrv/texlive:minimal) is the minimal scheme of TeXLive (you can use it to extend your own custom images).
- Basic (adnrv/texlive:basic) is the basic scheme of TeXLive (you can use it to extend your own custom images) extended over the
Other containers that are tunned to writing papers, proposal, and other academic documents need more specialized tools over TeXLive for a productive flow. The provided images (that work for me and my team) are below.
- Custom (adnrv/texlive:custom) is an extension over the
minimalcontainer that installs the basic packages plus some other non-basic ones. It is a middle ground between basic and full.
- Tools (adnrv/texlive:tools) is an extension over the
customcontainer that provides useful tools to build and execute more complex documents.
- adnTools (adnrv/texlive:adntools) is an extension over the
toolscontainer that packages all my (La)TeX libraries into a single container.
- adnAMC (adnrv/texlive:adnamc) is an extension over the
adntoolscontainer that provides the Auto Multiple Choice package with my libraries to use it. This is provided outside of
adntoolsdue to its large size.
In the examples below the image
adnrv/texlive can be change by adding the tag
:tag to the name (see available images).
See available tex binaries
docker run --rm adnrv/texlive ls -lah /opt/texbin/
docker run --rm -it -v "$(pwd)":/home adnrv/texlive pdflatex document.tex
or any other engine, such as
lualatex. In case you want to pass your user and group that can be achieved with
docker run --rm -it --user="$(id -u):$(id -g)" -v "$(pwd)":/home adnrv/texlive pdflatex document.tex
In case you want to build the images you can
docker build -t texlive:tag -f tag.Dockerfile .
tag refers to the type of the you.Dockerfile want to build.
Extend the Images
If you need some software of extra packages you can customize your own images using these ones as base.
You need to create a
Dockerfile like the following
FROM adnrv/texlive:tag # Minted + Pygments RUN tlmgr update --self && \ tlmgr install minted
Note that when using
tlmgr to avoid crashes on updates, doing a
update --self is useful before using the command.