使用docker run在任何给定文件上运行带有参数的shell脚本

问题描述 投票:0回答:1

我是Docker初学者。我已经使用此SO post在docker run中运行shell脚本,并且可以正常工作。但是,我想做的是将我的shell脚本应用于存在于当前工作目录中的文件,该文件位于Dockerfile和脚本所在的位置。

我的shell脚本-给定文件作为参数,返回其名称和行数:

#!/bin/bash
echo $1
wc -l $1

Dockerfile:

FROM ubuntu
COPY ./file.sh /
CMD /bin/bash file.sh

然后构建并运行:

docker build -t test .
docker run -ti test /file.sh text_file

这就是我得到的:

text_file
wc: text_file: No such file or directory

我一无所知,为什么第二行不起作用,为什么找不到该文件。我不想将我的text_file复制到容器中。理想情况下,我想从Docker容器中对当前工作目录中的任何文件运行脚本。任何帮助都感激不尽。谢谢!!

我是Docker初学者。我已经使用此SO帖子通过docker run运行shell脚本,并且工作正常。但是,我想做的是将我的Shell脚本应用于存在于我......>

bash shell docker
1个回答
0
投票

您正在构建包含脚本/file.sh的Docker映像。尽管如此,您的Docker容器仍不包含(或不知道)您要作为参数传递的文件text_file

为了让您的Docker容器知道它,您必须在运行容器时将其mount

© www.soinside.com 2019 - 2024. All rights reserved.