bash - 我应该在 docker 环境中将输入文件放在哪里?
问题描述
我是新手Docker
。我在( )中介绍了Docker
环境。我不希望使用更简单的实现。我宁愿使用终端。当我尝试使用图像(https://hub.docker.com/r/weichuntsai/texlive-small )编译我的文件( )时,它抱怨没有这样的文件。WSL2
Windows10Home
VSCode
Ubuntu
LaTeX
my_input.tex
Docker
tex
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"
}
解决方案
检查图像的 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
推荐阅读
- r - 如何计算拟二项式模型的 AIC?
- sqlite - Sqlite 如何在一个查询中从两个表中选择 sum()
- javascript - React Ref:对象数组的 Ref 函数仅记录第一项
- firebase-hosting - 尝试在托管 Web Flutter 应用程序的 Firebase 中部署
- c - 如何在c中重命名文件
- events - 点击传单标记
- python - 从 AWS Lambda 层导入 cffi python 模块时出错
- typescript - 根据变量输入键入回调函数
- google-bigquery - Google Cloud Data Fusion 将 Excel 提取到 Bigquery
- php - 传递参数的php soap调用问题