docker windows10共有ディレクトリのマウント失敗の解決策

docker windows10共有ディレクトリのマウント失敗の解決策

原因

docker スクリプトを実行すると、コンテナを作成できないというエラーが発生します。

以下のように表示されます。

サービス xxx のコンテナを作成できません: b'ドライブが共有されていません'

Stack Overflow にアクセスしたところ、解決策は [設定] -> [共有ドライブ] に移動し、Docker がイメージをマウントするために使用するディスク アドレスを確認することだとわかりました。

ただし、どのように確認しても、資格情報の復元、適用、リセット、工場出荷時設定へのリセットでは役に立ちません。ユーザー パスワードを入力するたびに、Docker によってオプションが自動的にクリアされます。

分析する必要がある理由はいくつかあります。

1. ローカル セキュリティ ポリシーの [ローカル ポリシー] -> [セキュリティ オプション] -> [ネットワーク アクセス: ローカル アカウントの共有とセキュリティ モデル] で、セキュリティ設定によってアクセス許可が解放されないため、ここでクラシック モードを選択する必要があります。

2. ファイアウォールの問題ですか? ポート 445 はマッピングに使用されていません。

3. Hyper-V は無効になっていますか?

ここでの主な問題は、最初の状況によりドライブが共有されていないことです。設定後、「設定」->「共有ドライブ」->マウントするディスクに移動し、リセットして実行します。

補足: win10 dockerでrun -vを使用すると、仮想マシンはホストによってマウントされたディレクトリを表示できません

最近、Docker を学習しています。今日遭遇した問題は次のとおりです。

docker run --name centos7 -it -v D:\docker-data\exchange\:/mnt centos:7

上記の方法でコンテナを起動すると、D:\docker-data\exchange\ の下のファイルを仮想マシンの /mnt ディレクトリに読み込むことができません。しかし、コンテナを起動してみると、エラーも報告されずに正常に起動しました。 少し時間がかかりました。しかし、昨日この方法を使用したところ、正常にマウントし、ホストマシンのファイルを正常に読み取ることができました。

後で、昨日コンピュータのパスワードを変更したことを知り、正常に読み取る前に再度確認する必要がありました。 (Dockerの落とし穴なのかは分かりませんが、以前認証したパスワードは変更されているのに、上記コマンドを実行しても再認証は要求されず、エラーも報告されません。なんて落とし穴なんでしょうか)

以下の方法でまず検証をクリアし、docker 設定ウィンドウを開いて次のページで資格情報のリセットをクリックし、マウントするディレクトリがあるディスクを確認してパスワードを再入力します (ここでパスワードが必要な理由はわかりません。コンピューターにパスワードを設定したことはありませんが、docker を使用するために特別にパスワードを設定しました)

その後、ディレクトリを仮想マシンに正常にマウントできます。

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • dockerでマウントされたディレクトリが読み書きできない問題を解決する
  • Docker コンテナのマウントディレクトリ操作の表示
  • docker run で ./ 相対パスを使用してファイルまたはディレクトリをマウントできない問題を解決する
  • DockerコンテナにNFS共有ディレクトリをマウントする実装
  • Docker - コンテナマウントディレクトリを変更する3つの方法のまとめ
  • Dockerはローカルディレクトリとデータボリュームコンテナ操作をマウントします
  • Dockerはelasticsearchイメージを起動し、ディレクトリをマウントした後にエラーを解決します

<<:  MySQL Group by最適化の詳細な説明

>>:  Firefox で英語の文字が折り返されない問題の解決方法

推薦する

MySQL複合インデックスの概要

目次1. 背景2. 複合インデックスを理解する3. 左端一致原則4. フィールド順序の影響5. 単一...

NginxはURLのパスに応じてアップストリームに動的に転送します

Nginx では、URL のパス パラメータに基づいて、到達不可能なアップストリームに動的に転送する...

JavaScript におけるブラウザ互換性の問題について簡単に説明します

ブラウザの互換性は、実際の開発では見落とされがちな最も重要な部分です。古いバージョンのブラウザの互換...

Vue3.0でカスタム命令を書くための簡単な手順

序文Vue には、v-if、v-bind、v-on などの豊富な組み込みディレクティブが用意されてい...

Vue3 テーブルコンポーネントの使用

目次1. Antデザインビュー1. 公式ウェブサイトアドレス2. 使い方3.電子書籍テーブルを表示す...

Dockerでデータディレクトリを移行する方法

目次ディスク使用量の表示ディスク クリーンアップ (軽々しく使用しないでください)データの移行ディス...

MySQL の完全なデータベース バックアップ データを使用して単一のテーブル データを復元する方法

序文データベースをバックアップするときは、データベース全体のバックアップを使用します。ただし、何らか...

Vue バッチ更新 DOM 実装手順

目次シーン紹介深い応答性トリガーゲッターDep.targetを探すゲッターセッター要約するシーン紹介...

IIS7~IIS8.5 サーバープロトコルヘッダーの削除または変更

要件: IIS 7、7.5、8.0、8.5、および ASP.NET で HTTP 応答ヘッダーを削除...

2つのウェブサイトページ翻訳プラグインの共有

TranslateThis URL: http://translateth.is Google 翻訳...

elasticsearchを使用してインデックスデータを定期的に削除する

1. ESを使うこともあるリソースが限られている、またはビジネス上のニーズにより、最新の期間のデータ...

JavaScriptの基礎を学ぶ

目次1. JavaScriptを記述する場所2. JavaScriptでよく使われる入力文と出力文1...

プロジェクトにおける CSS グリッドシステムの柔軟な使用方法の詳細な説明

序文CSS グリッドは通常、さまざまなフレームワークにバンドルされていますが、実際のビジネス ニーズ...

VueはTodoListの例をカプセル化し、ブラウザのローカルキャッシュのアプリケーションを実装します。

この記事では主に、Vue で TodoList をカプセル化するケースと、ブラウザのローカル キャッ...

MySQL のロングトランザクション例の詳細な説明

序文: 「MySQL 入門」シリーズの記事は終了しました。今後も引き続き MySQL に焦点を当て、...