Docker

社区维护了一个docker镜像,可以在DockerHub上找到。 对于我们的镜像manimcommunity/manim,有以下标签:

  • latest: 对应于主分支的最新版本,

  • stable: 最新发布的版本(根据发布页面),

  • vX.Y.Z: 任何特定的发布版本(根据 发布页面)。

注意

在Docker容器中使用Manim的CLI时,一些标志如 -p(预览文件)和-f(在文件浏览器中显示输出文件) 不受支持。

Docker容器的基本用法

假设你可以通过终端(bash / PowerShell)访问系统上的docker安装,你可以使用以下命令在文件test_scenes.py中渲染场景CircleToSquare

docker run --rm -it -v "/full/path/to/your/directory:/manim" manimcommunity/manim manim -qm test_scenes.py CircleToSquare

提示

对于Linux用户,当让容器中的用户写入挂载的卷时,可能会出现权限问题。在docker CLI参数中添加--user="$(id -u):$(id -g)"可以防止创建不属于您的用户的输出文件。

除了使用上述的“一次性容器”方法外,您还可以创建一个可以根据您的喜好进行修改的命名容器。首先,运行

docker run -it --name my-manim-container -v "/full/path/to/your/directory:/manim" manimcommunity/manim bash

在容器内获取一个交互式shell,允许您执行操作,例如安装更多依赖项(如使用tlmgr安装texlive包)。一旦您满意,立即退出容器。然后,在使用之前,通过运行以下命令启动容器:

docker start my-manim-container

在后台启动容器。然后,要在文件 test_scenes.py 中渲染场景 CircleToSquare,请运行

docker exec -it my-manim-container manim -qm test_scenes.py CircleToSquare

通过Docker运行JupyterLab

使用Docker镜像的另一种替代方法是启动一个本地的JupyterLab实例。要做到这一点,只需运行

docker run -it -p 8888:8888 manimcommunity/manim jupyter lab --ip=0.0.0.0

然后按照终端中的指示操作。