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
相关产品推荐
相关产品推荐

