首页 > 解决方案 > 我应该在 docker 环境中将输入文件放在哪里?

问题描述

我是新手Docker。我在( )中介绍了Docker环境。我不希望使用更简单的实现。我宁愿使用终端。当我尝试使用图像(https://hub.docker.com/r/weichuntsai/texlive-small )编译我的文件( )时,它抱怨没有这样的文件。WSL2Windows10HomeVSCodeUbuntuLaTeXmy_input.texDockertex

docker run --name mylatex -dt -v /home/myname:/home weichuntsai/texlive-small:1.1.0

当我在终端中发送以下命令时,他抱怨没有相应的文件。

txrun my_input.tex xelex,尽管我tex在主 ( ~, 或home/myname) 目录中创建了这个文件。

不幸的是,只发送ls退货tex.mf而没有显示my_input.tex。出于某些原因发送pwd退货root。我不知道它为什么会返回root,不是home/myname

这可能是由于我对 的理解不足Docker,但我感谢您对这个问题的友好建议。

注意我开始知道Docker images位于/var/lib/docker。要更改此目录,必须使用 . 停止Docker守护程序 sudo service docker stop。然后必须编辑/etc/docker/daemon.json.

{
 "data-root": "/to/some/path"
}

标签: bashdockerlatexdocker-imagewsl-2

解决方案


检查图像的 Dockerfile 显示工作目录是 root https://hub.docker.com/r/weichuntsai/texlive-small/dockerfile

只需将您的家挂载到容器根目录:

docker run --name mylatex -dt -v /home/myname:/root weichuntsai/texlive-small:1.1.0

在集装箱内通过cd /home


推荐阅读