【发布时间】:2026-02-24 05:15:01
【问题描述】:
我有一个非常简单的 docker-compose 设置,可以在我同事的计算机 (*) 上运行,但由于某些不明原因,它在我的计算机上不起作用。
这是我的 docker-compose.yml
version: '3.3'
services:
... there are other services that are starting successfully ...
reporting:
image: microsoft/dotnet:2.0-runtime
hostname: reporting
container_name: reporting
volumes:
- publish-output:/app
command: dotnet /app/MocksGenerator.dll -s ${MSNAME_R} -p ${MSPORT_R} -c http://${CHOST} -m http://${MBHOST}${MSNAME_R}:${MBPORT}
networks:
- consul
links:
- mbreporting
- consul
- fabio
depends_on:
- mbreporting
- consul
- fabio
networks:
consul:
volumes:
publish-output:
driver: local
driver_opts:
device: /mnt/d/Repositories/microservices.mocking/docker/PublishOutput
o: bind
当我尝试使用“docker-compose up”启动它时,我从 docker-compose 收到错误信息。
错误:用于报告无法启动服务报告:安装卷“/var/lib/docker/volumes/betsreporting_publish-output/_data”时出错:使用选项安装卷时出错:type='' device='/mnt/ d/Repositories/microservices.mocking/docker/PublishOutput' o='bind': 没有这样的文件或目录
运行ls -la /mnt/d/Repositories/microservices.mocking/docker 产生
drwxrwxrwx 0 root root 4096 May 30 16:12 PublishOutput
所以主机目录肯定存在,但 docker-compose 似乎由于某种原因找不到它。为什么?
(*) 我的同事正在使用绑定类型的音量,我尝试了,但由于同样的原因也没有工作,所以我决定更改音量类型,但后来它似乎根本问题是 docker-compose 似乎找不到主机目录。
【问题讨论】:
标签: docker docker-compose