我有多个开发系统(win10台式机,macbookpro,win10笔记本电脑,Linux生产发行版)。我的docker-compose文件在基于unix的环境中运行良好,但是无论我的路径结构如何,win10系统都不会设置共享卷。
volumes:
certbot-etc:
certbot-var:
web-root:
driver: local
driver_opts:
type: none
device: C:\Users\name\Source\project\data
o: bind
dhparam:
driver: local
driver_opts:
type: none
device: C:\Users\name\Source\project\dhparam
o: bind
通常我使用以下路径:
/home/name/api/data
/home/name/api/dhparam
我也尝试过//c//Users//name//etc..
我从命令行尝试了set COMPOSE_CONVERT_WINDOWS_PATHS=1
,并完成了Docker的完全重启以及容器的停止和启动。仍然有同样的问题。
已确认可以在C:上检查Docker for Windows中的共享驱动器以及重置凭据。
答案 0 :(得分:0)
我尝试了很多事情,从“ docker-machine mount”到“ sshfs-win”。 对我而言,最简单,最快的方法是使用VirtualBox的共享文件夹(在Windows 10上创建虚拟Docker计算机的位置)。您可以创建一个,也可以使用已经可用的默认之一。
然后,将其用作docker-compose.yaml文件上文件夹的路径:
/c/Users/your-directory-name
或者...在docker-compose.yaml所在的文件夹中使用.env文件,在其上设置变量:
MYSQL_VOLUME_PATH=/c/your-directory-name
在您的docker-compose.yaml文件上,执行以下操作:
volumes:
mysql-db-volume:
driver: local
driver_opts:
type: none
device: ${MYSQL_VOLUME_PATH}
o: bind
要注意 :我并不是说在生产环境中应该那样做-我在描述本地开发环境 < / p>