所以我运行了一个docker容器,里面有几个文件夹/文件。
当我进入容器时,我可以看到它们是:
hostmachine $> docker exec -it testContainer bash
testContainer @ testContainer:〜$ ls -l </ p>
total 40200
-rw-r--r-- 1 root root 41156267 Apr 11 20:10 herp-4.2.2-SNAPSHOT-ap3.tar.gz
drwxr-xr-x 2 root root 4096 Apr 11 20:10 var
drwxr-xr-x 5 root root 4096 Apr 11 20:10 herp-4.2.2-SNAPSHOT
lrwxrwxrwx 1 root root 39 Apr 11 20:10 current -> /home/testContainer/herp-4.2.2-SNAPSHOT
我的问题是:
什么脚本,如何在我的hostmachine上使用它:
1)从容器中回复(返回)以下信息:
&#34; 当前 - &gt; /home/testContainer/herp-4.2.2-SNAPSHOT&#34;
2)然后再进一步,回顾最后一点:
HERP-4.2.2-SNAPSHOT
基本上它可能就像:
hostmachine $&GT; ./getSnapshotName.sh
HERP-4.2.2-SNAPSHOT
答案 0 :(得分:5)
只需逐步建立起来。首先,无需使用-it
和bash
来运行交互式shell,只需直接运行命令:
$ docker exec testContainer ls -l current
lrwxrwxrwx 1 root root 39 Apr 11 20:10 current -> /home/testContainer/herp-4.2.2-SNAPSHOT
接下来,使用readlink
来帮助您解析ls
输出:
$ docker exec testContainer readlink current
/home/testContainer/herp-4.2.2-SNAPSHOT
最后,通过basename
运行它以删除目录部分:
$ basename $(docker exec testContainer readlink current)
herp-4.2.2-SNAPSHOT