如何通过 docker run 将参数传递给 Shell 脚本

新手上路,请多包涵

我是码头工人世界的新手。我必须调用一个通过 docker 容器获取命令行参数的 shell 脚本。例如:我的 shell 脚本如下所示:

 #!bin/bash
echo $1

Dockerfile 看起来像这样:

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

我不确定如何在运行容器时传递参数

原文由 Akash Mehta 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

使用相同的 file.sh

 #!/bin/bash
echo $1

使用现有的 Dockerfile 构建镜像:

 docker build -t test .

使用参数 abcxyz 或其他参数运行图像。

 docker run -ti --rm test /file.sh abc

docker run -ti --rm test /file.sh xyz

原文由 BMW 发布,翻译遵循 CC BY-SA 4.0 许可协议

用这个脚本在 file.sh

 #!/bin/bash
echo Your container args are: "$@"

而这个 Dockerfile

 FROM ubuntu:14.04
COPY ./file.sh /
ENTRYPOINT ["/file.sh"]

你应该能够:

 % docker build -t test .
% docker run test hello world
Your container args are: hello world

原文由 Partly Cloudy 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题