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...
私の質問は、
どうすればアクセスできますか /external
のディレクトリ run.sh
で CMD
命令
不可能?
ありがとう〜
解決
あなたの run.sh
-f
ファイルが存在するかどうかを確認します。この場合は使用します -d
ディレクトリが存在するかどうかを確認します。
シェルスクリプト内にディレクトリが存在するかどうかを確認する
さらに、ボリュームコンテナのみを作成したい場合は、追加する必要はありません -d
, /bin/sh
ボリュームコンテナの実行コマンドは次のように変更されます
$ sudo docker run --name ext -v /external busybox
所属していません StackOverflow