如何对 Linux 容器的 Windows 卷的 Docker 进行故障排除

问题描述

我有一个 docker-compose 文件,可以为我启动 WordPress。它自 2018 年 2 月以来一直在工作,最后一次知道它是在大约六周前工作的。几天前我发现它停止工作......即使没有任何代码更改。唯一改变的是 Docker Desktop 收到了 2.5.0.0 (49427) 的更新。为了解决这个问题,我再次尝试更新到 3.0.0 (50684),但这并没有改变错误。

我已将问题详细描述为 Github issue。当我在该论坛上等待帮助时,我只想知道我可以采取哪些故障排除步骤。看到 Docker 告诉我一个文件夹不存在……当它明确存在时,真是令人沮丧。来自我的 Git Bash shell:

brent.arias@RM1-P-WS040 MINGW64 /c/repos/wap
$ docker-compose up -d
Creating volume "wap_wpdb" with default driver
Creating wap_db_1 ... error

ERROR: for wap_db_1  Cannot create container for service db: failed to mount local volume: mount C:\repos\wap\wp-db:/var/lib/docker/volumes/wap_wpdb/_data,flags: 0x1000: no such file or directory

ERROR: for db  Cannot create container for service db: failed to mount local volume: mount C:\repos\wap\wp-db:/var/lib/docker/volumes/wap_wpdb/_data,flags: 0x1000: no such file or directory
Encountered errors while bringing up the project.

是否有我可以应用的日志或其他一些分析工具来了解为什么它认为此文件夹不存在?

我的文件共享设置如下所示:

enter image description here

我运行的是 Windows 20H2(操作系统内部版本 19042.630)。

这是 Docker-Compose 文件:

version: '3.5'

services:
   db:
     image: mysql:5.7
     volumes:
       - type: volume
         source: wpdb
         target: /var/lib/mysql       
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: f*******s
       MYSQL_DATABASE: axiscode_wpwap
       MYSQL_USER: axiscode_wpwap
       MYSQL_PASSWORD: p*******9

   wordpress:
     depends_on:
       - db
     image: wordpress:4.9.4
     volumes:
       #- /c/repos/wpsite1/wp-content:/var/www/html/wp-content
       - .:/var/www/html
     ports:
       - "8001:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_NAME: axiscode_wpwap
       WORDPRESS_DB_USER: axiscode_wpwap
       WORDPRESS_DB_PASSWORD: p*******9
volumes:
    wpdb:
      driver_opts:
        type: none
        device: ./wp-db
        o: bind

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)