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.shCMD 教育指引

不可能?

谢谢~

有帮助吗?

解决方案

修改您的 run.sh

-f 是否存在文件检查。在这种情况下使用 -d 检查目录是否存在。

检查shell脚本中是否存在目录

如果你只想制作体积容器,不需要添加 -d, /bin/sh 卷容器运行命令更改如下所示

$ sudo docker run --name ext -v /external busybox

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top