Docker for Windows 10 pro Hyper-Vでは、通常、ファイル共有を使用しています。そのため、DockerデスクトップセクションのリソースにK:\data
、Windowsホストのようなフォルダーを追加します。これは私にとって何年もの間うまくいきます。
したがって、私の現在の構成は次のとおりです。
K:\data
Docker for WindowsWSL2に切り替えることができるかどうかを調査します。次に、2つのDockerコンテナーでdockercomposeファイルを引き続き使用したいと思います。Windowsホストにあるデータを引き続き使用したいと思います。より具体的には、K:\data
。
Hyper-Vを搭載したDockerforWindowsからDockerfor Windows WSL2に切り替えても、Windowsフォルダーにある既存のデータを使用することはできますか?
これは重複した質問ではありません。私はDockercomposeを使用しているため、「docker run -v'host '」ソリューションを使用したくありません。Docker構成ファイルでは、たとえば次の行を使用します。
volumes:
- //k/data/spring-boot-app:/data/spring-boot-app
新しい2.5以降のバージョン以降、Hyper-Vバージョンは私の標準のWin10proでほとんど機能しないため、この質問はさらに重要になります。WSL2はすぐに機能しました。
私はこの質問を単純なユーザーの質問として提起するので、他の人がそれから利益を得るかもしれません。私はこのトピックの背後に世界があることを知っています。
それはうまくいきます!!! ステップバイステップで証明と説明をさせてください。
DockerデスクトップでWSL2を有効にしました。これですべてです。
1-シンプルなアプリでのデモ:
version: '3'
services:
chatbot:
image: myusernameatdocker/chatbot:1.0-SNAPSHOT
ports:
- 8080:8080
volumes:
- /k/data/chatbot:/data/chatbot
簡単なSpringBootアプリケーションを作成しました。それを要求すると、Windows上のログファイルに1行が書き込まれます。私が完全に読むことができたそのファイル。k:\ data \ chatbot \ myfile.txtにあります。
2-既存のMySql環境でのデモ:
version: '3'
services:
mymysqldb:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=root123
- MYSQL_DATABASE=mydatabase
- MYSQL_USER=johan
- MYSQL_PASSWORD=bladibladibla
volumes:
- /k/data/var/mysql-data:/var/lib/mysql
ports:
- "3306:3306"
私はそれを始めたばかりで、それは機能します。通常、Dockerを最初にインストールするときに最初にak:\ dataフォルダーを追加する必要がありました。今、私はまだそれをしていません。
AND ... // k / dataでの作業も機能しました。
Windowsファイルシステムへのアクセスが遅いという警告が表示されましたか?はい。OK、私の場合、開発作業は大したことではありません。それは大丈夫です、それはうまくいきます!
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加