gpt4 book ai didi

docker-for-windows - 在 Docker-compose 中使用现有的文件共享/卷和 Docker for Windows WSL2

转载 作者:行者123 更新时间:2023-12-03 20:47:12 24 4
gpt4 key购买 nike

使用 Docker for Windows 10 pro Hyper-V,我可以正常使用文件共享。因此,在 Docker 桌面部分的资源中,我添加了一个文件夹,如 K:\data在我的 Windows 主机上。多年来,这对我来说效果很好。
所以我目前的配置是:

  • Windows 10 专业版
  • Windows 10 上的数据文件夹 主持人 是例如K:\data
  • Docker for Windows 与 Hyper-V
  • Docker 撰写(堆栈)文件,包含 2 个 Docker 镜像:MySql 和 Jenkins。
  • Docker 组件都访问(通过卷规范)驻留在 Windows 主机上的数据。

  • 我调查是否可以切换到适用于 Windows WSL2 的 Docker。然后我想继续使用带有 2 个 Docker 容器的 docker compose 文件。我想继续使用驻留在 Windows 主机上的数据。更具体地说,在 K:\data .
    是否可以从带有 Hyper-V 的 Docker for Windows 切换到 Docker for Windows WSL2,并且仍然使用 Windows 文件夹中的现有数据?
    这不是重复的问题 :我使用 Docker compose,所以我不想使用“docker run -v 'host'”解决方案。在我的 docker compose 文件中,我使用例如以下行:
    volumes:
    - //k/data/spring-boot-app:/data/spring-boot-app
    这个问题得到更多 重要 因为自从新的 2.5+ 版本之后,Hyper-V 版本几乎不能在我的标准 Win10pro 上运行。 WSL2 立即工作。
    我将此问题作为一个简单的用户问题提出,因此其他人可能会从中受益。我知道这个话题背后有一个世界。

    最佳答案

    很简单——只需切换到 WSL2 即可。 我尝试了 Docker for Windows 2.4 和 3.0.0 (21-12-2020) 版本。
    让我用两个简单的步骤来证明和解释。注意卷在 docker-compose.yml 文件中的使用方式。
    首先,刚刚在你的 Docker 桌面中启用了 WSL2
    1 - 一个简单的应用程序演示:

    version: '3'
    services:
    chatbot:
    image: myusernameatdocker/chatbot:1.0-SNAPSHOT
    ports:
    - 8080:8080
    volumes:
    - /k/data/chatbot:/data/chatbot
    我创建了一个简单的 Spring Boot 应用程序。它在 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 时首先添加一个 k:\data 文件夹。现在我还没有这样做。
    AND ... 使用//k/data 也有效。所以,我用了很多年的 MySql 还是可以用的。
    我是否收到访问 Windows 文件系统速度慢的警告?是的。好的,就我而言,开发工作没什么大不了的。没关系,有效!

    关于docker-for-windows - 在 Docker-compose 中使用现有的文件共享/卷和 Docker for Windows WSL2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65041671/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com