来自CMD指令中目录访问的docker容器卷

时间:2014-07-28 17:02:33

标签: docker coreos

来自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...

我的问题是,

如何在/external指令中访问run.sh中的CMD目录

不可能?

谢谢〜

1 个答案:

答案 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