我试图运行的项目给出here。它是一种从docker容器编译LaTeX的算法。但我正在努力执行给定步骤的最后命令。跟随我正在键入的命令的列表。
sudo groupadd docker
sudo usermod -aG docker ${USER}
su ${USER}
IMAGE=blang/latex:ctanfull
docker pull ${IMAGE}
docker run "$IMAGE" run.sh
字符串
但是,最后一个命令返回以下错误:
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "run.sh": executable file not found in $PATH: unknown.
ERRO[0000] error waiting for container:
型
Docker容器似乎无法在我的本地目录中找到文件。准确地说,我必须调用一个docker容器,并从这个容器执行一个本地bash脚本,而不改变docker镜像。我还尝试了下面列出的其他命令。
docker run --rm --entrypoint '' blang/latex:ctanfull sh -c "./run.sh"
docker run -it --rm --entrypoint '' blang/latex:ctanfull /bin/bash -c "./run.sh"
docker run -it --rm --entrypoint '' blang/latex:ctanfull sh -c "./run.sh"
型
但是没有一个能够找到run.sh
脚本。
感谢您的关注,并致以最良好的问候。
2条答案
按热度按时间snz8szmq1#
如果
run.sh
在您的本地机器上,您可以在同一个文件夹中像这样运行字符串
qvtsj1bj2#
Docker容器没有访问主机文件系统的权限,除非您显式授予它们
要给予容器访问run.sh脚本,可以使用卷Map将脚本Map到容器,如下所示
字符串
现在,run.sh脚本可以在容器中作为
/script/run.sh
访问。或者,如果您愿意,可以将脚本通过管道传输到容器中的shell中,如下所示
型