我需要将一个现有的CLI容器化,它也可以读写文件。类似于容器化的cp
或 kubectl
任何其他典型的bash命令。
有什么方法可以包裹docker命令来访问主机系统上的文件?
cat my_wrapper.sh
:
#!/bin/sh
docker run --rm -it -v ??? \
$IMAGE \
"$@"
有什么方法可以挂载任何东西,比如 my_wrapper.sh
可以读取和写入文件,如 my_wrapper.sh --option /some/file/argument
?
澄清
当然,你可以简单地挂载文件所在的路径,但是这样的话。
事实上,你可以做一个 装订量:
$ my_wrapper.sh /some/file/argument
my_wrapper.sh的内容。
#!/bin/bash
if [ "$#" -ne 1 ]; then
echo "Illegal number of parameters"
exit 1
else
if [ -f "$1" ]; then
dir=$(dirname "$1")
else
echo "File doesn't exist"
exit 2
fi
fi
IMAGE=xxxx
docker run --rm -it -v "$dir":"$dir" \
"$IMAGE" \
"$1"