在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