Docker 安装配置容器创建错误

Docker Mount Configuration Container Creation Error

我正在尝试从 docker 图像为我正在处理的项目(项目人行道)创建容器。容器正确旋转,除了最后一步给我这个错误:

Creating projectsidewalk-db ... error                                                                                   
ERROR: for projectsidewalk-db  Cannot create container for service db: invalid volume specification: 'C:\Users\johns\OneDrive\documents\GitHub\sidewalkwebpage\db\init.sh:/docker-entrypoint-initdb.d/init.sh:rw': 
invalid mount config for type "bind": source path must be a directory

ERROR: for db  Cannot create container for service db: invalid volume specification: 'C:\Users\johns\OneDrive\documents\GitHub\sidewalkwebpage\db\init.sh:/docker-entrypoint initdb.d/init.sh:rw': 
invalid mount config for type "bind": source path must be a directory
ERROR: Encountered errors while bringing up the project.
make: *** [docker-up-db] Error 1

我查看了其他 Stack Overflow 线程,并尝试了创建新变量 COMPOSE_CONVERT_WINDOWS_PATHS 并将其设置为 1 的修复方法,但没有成功。我想知道是否有人知道如何解决这个问题。

您不能在 Windows 上装载文件,只允许装载目录。 moby 中存在一个问题,该问题已关闭但未解决,因为这实际上是 Windows 的限制,而不是 Docker:https://github.com/moby/moby/issues/30555#issuecomment-279170073.

总结: 我猜你的 docker-compose.yml:

中有这样的东西
volumes:
- .\db\init.sh:/docker-entrypoint-initdb.d/init.sh:rw

应该是这样的:

volumes:
- .\db:/docker-entrypoint-initdb.d/:rw