题
DOCKER容器卷从CMD指令中的目录访问
$ sudo docker run -d --name ext -v /external busybox /bin/sh
和
run.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
教育指引
不可能?
谢谢~
解决方案
修改您的 run.sh
-f
是否存在文件检查。在这种情况下使用 -d
检查目录是否存在。
如果你只想制作体积容器,不需要添加 -d
, /bin/sh
卷容器运行命令更改如下所示
$ sudo docker run --name ext -v /external busybox
不隶属于 StackOverflow