2017-08-31 6 views
1

私は私たちの開発環境をセットアップし、Git Bashを使用してWindows環境で動作させるために使用するシェルスクリプトを使用しようとしています。Windows用のdocker --volume形式

次のようにコンテナはシェルスクリプトで育っている方法は次のとおりです。

docker run \ 
--detach \ 
--name=server_container \ 
--publish 80:80 \ 
--volume=$PWD/var/www:/var/www \ 
--volume=$PWD/var/log/apache2:/var/log/apache2 \ 
--link=mysql_container:mysql_container \ 
--link=redis_container:redis_container \ 
web-server 

私はそのまま、それは次のエラーメッセージを返すことを実行します。

Cを:\プログラムファイル\ Docker \ Docker \ Resources \ bin \ docker.exe:エラー デーモンからの応答:無効なバインドマウント仕様 "/ C/Users/username/var/docker/environments/development/scripts/var/log/apache2; C:\ Program Files \ Git \ var \ log \ apache2 ":無効なボリューム指定\ Ghost \ var \ log \ apache2 ':タイプ "bind"のマウント設定が無効です。 ": 無効なマウントパス: '\ Program Files \ Git \ var \ log \ apache2'マウントパス は絶対パスでなければなりません。 'C:¥Program Files \ Docker \ Docker \ Resources \ bin \ docker.exe run --help'を参照してください。

私はグーグルとドキュメンテーションの読書をしましたが、私はDockerに少し圧倒されました。私はそれが間違っていると思います。私は次のようにコンテナをセットアップしようとしました:

docker run \ 
--detach \ 
--name=server_container \ 
--publish 80:80 \ 
--volume=/c/users/username/var/www:/var/www \ 
--volume=/c/users/username/var/log/apache2:/var/log/apache2 \ 
--link=mysql_container:mysql_container \ 
--link=redis_container:redis_container \ 
web-server 

それでも、同様のエラーメッセージでエラーが出ます。コロン:/ var/wwwを削除した場合、それが表示されますが、C:\ users \ username \ var \ www =/var/wwwを知らないと正しく表示されません。

私は痛いほど愚かではないことを知っていますが、私がドキュメントを見ると、私はただ釉薬をかぶっています。どんな助けでも大歓迎です。一度私は例を持っていると私は離れて実行されます。ありがとうございました。

答えて

1

私はそれを投稿した後、私自身の質問に答えました。

これは正しい形式です。

docker run \ 
--detach \ 
--name=server_container \ 
--publish 80:80 \ 
--volume=//c/users/username/var/www://var/www \ 
--volume=//c/users/username/var/log/apache2://var/log/apache2 \ 
--link=mysql_container:mysql_container \ 
--link=redis_container:redis_container \ 
web-server 

グーグルを長くしておく必要があります。

1

相対パスを作成する場合は、pwdと変数を使用できます。例:

CURRENT_DIR=$(pwd)  
docker run -v /"$CURRENT_DIR"/../../test/:/test alpine ls test 
関連する問題