Windows下开发真是折腾,无奈工作中要使用一些win软件,不得已,使用vagrant经常重启之后就会出现错误,今天启动的时候又出错了,所以决定在win下使用Docker,然后又遇到了坑,因为Windows不支持Docker,所以Windows下的Docker实际上还是基于虚拟机,所以,涉及到一个虚拟机与物理机的目录共享和端口映射问题。
目录挂载
问题:docker-compose up启动之后挂载的目录有问题,进入容器查看发现并没有成功挂载,查阅官方文档之后发现Windows上会自动挂载C:/Users,所以要把项目文件夹放到C:/Users下面才可以。经过查看,发现确实如此。
解决方案:把项目文件夹放到C:/Users,docker-compose.yml对应写法(以nginx为例):
nginx:
build: ./nginx
ports:
- "80:80"
links:
- "php"
volumes:
- "/c/Users/workspace:/opt"
注意:Windows路径不能写成c:\
端口映射
问题:端口没有映射
解决方案:在VirtualBox中设置端口转发,比如nginx