繁体   English   中英

bash 脚本 - 找不到“docker run -it my_image bash”命令

[英]bash script - "docker run -it my_image bash" command not found

我们有一个 docker 镜像列表,我们正在尝试使用以下 bash 脚本查看每个镜像中安装了哪个版本的 node/java/mongo..

#!/bin/bash
version=""
file='images.txt'
while read line; do
        sudo docker pull $line 
        sudo docker run $line bash
        version=$(node -v)
        exit
        $version >> "version.txt"
        sudo docker image rm $line
done < $file

但是我们在“docker run”行上有一个错误,它说“找不到命令”docker pull 命令工作正常我们还注意到 while 循环继续而不等待第一个 docker pull 完成,当我们执行“docker pull”运行”命令没有脚本它工作正常并进入图像的外壳。

我们将不胜感激任何建议:)

我猜你可能是说

#!/bin/bash
while read -r line; do
        sudo docker pull "$line" 
        sudo docker run -it --rm "$line" node -v
done <images.txt >version.txt

......但是代码不能做你想做的事情是告诉我们你真正想做的事情的可怕方式。 这将在每个容器内运行node -v ,其中-it选项对于在标准输出上获取输出至关重要,而--rm负责处理(我猜)你用单独的rm做什么。 这显然仍然取决于输入文件中的确切内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM