CMD 命令でのディレクトリ アクセスからの Docker コンテナ ボリューム

StackOverflow https://stackoverflow.com//questions/25000372

  •  20-12-2019
  •  | 
  •  

質問

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.shCMD 命令

不可能?

ありがとう〜

役に立ちましたか?

解決

あなたの run.sh

-f ファイルが存在するかどうかを確認します。この場合は使用します -d ディレクトリが存在するかどうかを確認します。

シェルスクリプト内にディレクトリが存在するかどうかを確認する

さらに、ボリュームコンテナのみを作成したい場合は、追加する必要はありません -d, /bin/shボリュームコンテナの実行コマンドは次のように変更されます

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top