ディレクトリをファイルにマウントしようとしていますか(またはその逆)?質問する

ディレクトリをファイルにマウントしようとしていますか(またはその逆)?質問する

バージョン の docker があります17.06.0-ce。docker を使用してコマンドで NGINX をインストールしようとすると、次のようになります。

docker run -p 80:80 -p 8080:8080 --name nginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs -d nginx:latest

それは、

docker: デーモンからのエラー応答: oci ランタイム エラー: container_linux.go:262: コンテナ プロセスの開始により "process_linux.go:339: コンテナの初期化により \"rootfs_linux.go:57: \\"/appdata/nginx/conf/nginx.conf\\" が rootfs \\"/var/lib/docker/aufs/mnt/dcea22444e9ffda114593b18fc8b574adfada06947385aedc2ac09f199188fa0\\" にマウントされました\\"/var/lib/docker/aufs/mnt/dcea22444e9ffda114593b18fc8b574adfada06947385aedc2ac09f199188fa0/etc/nginx/nginx.conf\\" により \\"ディレクトリではありません\\"\"" が発生しました: ディレクトリをファイルにマウントしようとしていますか (またはその逆)? 指定されたホスト パスが存在し、予期されるタイプであるかどうかを確認してください。

ファイルをマウントしなければnginx.conf、すべて問題ありません。では、構成ファイルをマウントするにはどうすればよいでしょうか?

ベストアンサー1

これはもう起こらないはずです(v2.2.0.0以降)。ここ


使用している場合Windows 用 Dockerこのエラーは、最近パスワードを変更した場合に発生する可能性があります。

直し方:

  1. まず、壊れたコンテナのボリュームを削除してください
    docker rm -v <container_name>
    更新: 以下の手順は、最初にボリュームを削除しなくても機能する可能性があります。
  2. Docker設定を開く
  3. 「共有ドライブ」タブに移動します
  4. ウィンドウの下部にある「資格情報をリセット...」リンクをクリックします。
  5. 使用したいドライブをDockerで再共有する
  • ユーザー名/パスワードを入力するよう求められます
  1. 「適用」をクリック
  2. 「リセット」タブに移動します
  3. 「Dockerを再起動」をクリックします
  4. コンテナ/ボリュームを再作成する

この解決策を提供してくれたのは、GitHub の BaranOrnarli 氏です。

おすすめ記事