You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL2中Docker Compose绑定/var/lib/docker/containers/路径不存在求助

Windows Docker Desktop部署Wings服务绑定路径错误问题

环境与配置

在Windows系统使用Docker Desktop,基于官方镜像部署Wings服务,修改后的docker-compose.yml配置如下:

services:
  db:
    image: postgres:13
    restart: always
    container_name: corkscrew-db
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: pass
      POSTGRES_DB: data
    ports:
      - "5432:5432"
  wings:
    image: ghcr.io/pterodactyl/wings:latest
    restart: always
    networks:
      - wings0
    ports:
      - "8080:8080"
      - "2022:2022"
    tty: true
    environment:
      TZ: "UTC"
      WINGS_UID: 988
      WINGS_GID: 988
      WINGS_USERNAME: pterodactyl
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "/var/lib/docker/containers/:/var/lib/docker/containers/" #\\wsl.localhost\\docker-desktop-data\\data\\docker\\volumes
      - "./wings/etc/pterodactyl/:/etc/pterodactyl/"
      - "./wings/var/lib/pterodactyl/:/var/lib/pterodactyl/"
      - "./wings/var/log/pterodactyl/:/var/log/pterodactyl/"
      - "./wings/tmp/pterodactyl/:/tmp/pterodactyl/"
      - "./wings/etc/ssl/certs:/etc/ssl/certs:ro"
  web:
    image: node:20.9.0-alpine3.18
    container_name: corkscrew-web
    ports:
      - "5173:5173"
    env_file:
      - .env.dev
    volumes:
      - ./:/app
      - /app/node_modules/
    working_dir: /app
    command: sh -c "yarn && yarn run db:deploy && yarn run seed && yarn run dev --host --port 5173"
    depends_on:
      - db


networks:
  wings0:
    name: wings0
    driver: bridge
    ipam:
      config:
        - subnet: "172.21.0.0/16"
    driver_opts:
      com.docker.network.bridge.name: wings0

错误信息

运行时出现如下错误:

Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /var/lib/pterodactyl/volumes/8f8caa88-7152-46a0-a448-de4168b809e6 

已尝试操作

尝试使用\\\\wsl.localhost\\docker-desktop-data\\data\\docker\\volumes作为路径(该路径确实存在)替换Docker卷绑定路径,但问题未解决,且本地volumes文件夹完全不存在。


解决方案

1. 创建缺失的本地目录

在docker-compose.yml所在目录下,手动创建Wings所需的卷目录:

mkdir -p ./wings/var/lib/pterodactyl/volumes

如果使用WSL终端执行,确保路径对应到Windows下的项目目录(通常在/mnt/c/[你的项目路径]下)。

2. 调整Wings服务的卷绑定配置

修改wings服务的volumes字段,添加缺失的卷目录绑定:

volumes:
  - "/var/run/docker.sock:/var/run/docker.sock"
  - "/var/lib/docker/containers/:/var/lib/docker/containers/"
  - "./wings/etc/pterodactyl/:/etc/pterodactyl/"
  - "./wings/var/lib/pterodactyl/:/var/lib/pterodactyl/"
  # 新增卷目录绑定,匹配错误提示的路径
  - "./wings/var/lib/pterodactyl/volumes:/var/lib/pterodactyl/volumes"
  - "./wings/var/log/pterodactyl/:/var/log/pterodactyl/"
  - "./wings/tmp/pterodactyl/:/tmp/pterodactyl/"
  - "./wings/etc/ssl/certs:/etc/ssl/certs:ro"

3. 修复目录权限

在WSL终端中进入项目目录,调整Wings数据目录的权限,匹配容器内的UID/GID:

chown -R 988:988 ./wings

4. 避免使用Windows网络路径

Docker容器运行在WSL后端环境中,不要在docker-compose.yml中使用Windows网络共享路径(如\\\\wsl.localhost\\...),直接使用WSL兼容的相对或绝对路径即可。


内容的提问来源于stack exchange,提问作者CoasterFan5

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 00:07:53