在CMD指令中从目录访问docker工人容器卷
在CMD指令中从目录访问docker工人容器卷
$ 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
和
Dockerfile
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...
我的问题是,
在CMD
指令中如何访问run.sh
中的/external
目录
不可能?
谢谢〜
修改你的run.sh
-f
是检查文件是否存在。 在这种情况下使用-d
检查目录是否存在。
检查一个目录是否存在于一个shell脚本中
而且如果你只想做容器,不用加-d
, /bin/sh
卷容器运行命令就可以这样做
$ sudo docker run --name ext -v /external busybox