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

Docker Compose挂载本地卷时容器目标路径被覆盖导致服务异常的问题求助

Docker Compose挂载本地卷时容器目标路径被覆盖导致服务异常的问题求助

各位大佬好,我现在碰到一个Docker挂载卷的棘手问题,想请教下大家的解决思路。

当我不挂载任何卷的时候,容器运行完全正常,但只要尝试用docker-compose把本地目录挂载到容器里的某个路径,容器里的目标路径就直接变成空的了,直接导致容器服务挂掉——看起来像是本地文件夹把容器里原有的内容给覆盖了。而且这个问题不是某个镜像独有的,我试了其他容器也会出现同样的情况。另外Docker Desktop里的文件共享已经添加了对应的路径,应该排除了权限限制的问题?

下面是我的docker-compose示例文件:

version: '3'

services:
  shop:
    container_name: Dev_shopware6
    image: dockware/dev:6.5.3.3
    ports:
      - "22:22"     # ssh
      - "80:80"     # apache2
      - "443:443"   # apache2 https
      - "8888:8888" # watch admin
      - "9998:9998" # watch storefront proxy
      - "9999:9999" # watch storefront
      - "3306:3306" # mysql port
    volumes:
      - ./src:/var/www/html
    networks:
      - web
    environment:
      - XDEBUG_ENABLED=0

容器启动后报的错误日志:

Dev_shopware6 | AH00112: Warning: DocumentRoot [/var/www/html/public] does not exist
Dev_shopware6 | AH00112: Warning: DocumentRoot [/var/www/html/public] does not exist

我的环境是MacOS + Docker Desktop,项目结构如下:

.
├── docker
│   └── db
├── docker-compose.yml
├── readme.md
└── src

(注:实际为4个目录,2个文件)

另外我进入未挂载卷的容器里查看/var/www/html目录的内容,是完整的项目文件:

www-data@63f6c46e9787:~/html$ ls -la
total 492
drwxr-xr-x 1 www-data www-data   4096 Jul 18 15:49 .
drwxrwxrwx 1 root     root       4096 Jul 18 15:49 ..
-rw-r--r-- 1 www-data www-data   1247 Jul 18 15:42 .env
-rw-r--r-- 1 www-data www-data    647 Jul 18 15:42 .gitignore
-rw-r--r-- 1 www-data www-data    369 Jul 18 15:42 .htaccess
-rw-r--r-- 1 www-data www-data    350 May  3 10:38 README.md
drwxr-xr-x 1 www-data www-data   4096 Jul 18 15:42 bin
-rw-r--r-- 1 www-data www-data   1769 Jul 18 15:44 composer.json
-rw-r--r-- 1 www-data www-data 415799 Jul 18 15:44 composer.lock
drwxr-xr-x 1 www-data www-data   4096 Jul 18 15:42 config
drwxr-xr-x 1 www-data www-data   4096 Jul 18 15:42 custom
-rw-r--r-- 1 www-data www-data    334 Jul 18 15:42 docker-compose.override.yml
-rw-r--r-- 1 www-data www-data   1070 Jul 18 15:42 docker-compose.yml
drwxr-xr-x 1 www-data www-data   4096 Jul 18 15:43 files
-rw-rw-rw- 1 www-data www-data      0 Jul 18 15:43 install.lock
drwxr-xr-x 1 www-data www-data   4096 Jul 18 15:43 public
-rw-r--r-- 1 www-data www-data   6427 Jul 18 15:42 symfony.lock
drwxr-xr-x 1 www-data www-data   4096 Jul 18 15:44 var
drwxr-xr-x 1 www-data www-data   4096 Jul 18 15:44 vendor

现在的问题就是挂载后,本地空的src目录直接把容器里原有的/var/www/html覆盖了,导致Apache找不到文档根目录。有没有大佬知道怎么解决这个问题?

备注:内容来源于stack exchange,提问作者Ed Ke

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 07:45:34