来自CMD指令中目录访问的docker容器卷
$ sudo docker run -d --name ext -v /external busybox /bin/sh
和
#!/bin/bash
if [[ -f "/external" ]]
then
echo 'success!'
else
echo 'Sorry, I can't find /external...'
fi
和
FROM ubuntu:14.04
MAINTAINER newbie
ADD run.sh /run.sh
RUN chmod +x /run.sh
CMD ["bash", "/run.sh"]
和
$ sudo docker build -t app .
和
$ sudo docker run -d --volumes-from ext app
ac57afb95f923eeffd28e7d9d9cb76cb1b7699ebd
所以
$ sudo docker logs ac57afb95f923eeffd28e7d9d9cb76cb1b7699ebd
Sorry, I can't find /external...
我的问题是,
如何在/external
指令中访问run.sh
中的CMD
目录
不可能?
谢谢〜
答案 0 :(得分:1)
修改您的run.sh
-f
检查文件是否存在。在这种情况下,使用-d
检查目录是否存在。
Check if a directory exists in a shell script
如果您想要仅制作卷容器,则无需添加-d
,/bin/sh
卷容器运行命令改变如下
$ sudo docker run --name ext -v /external busybox