docker-sync.yml
文件配置置于根目录下
version: "2"
syncs:
unison-sync:
sync_strategy: 'unison'
src: '.'
# 如果不填写 sync_userid ,则在主机上有写权限,容器里面可能并没有
# laravel sail 环境里面默认执行的用户是 sail,此处填写 sail 的 id 即可
# 配置之后,会默认同步的所有文件的拥有人都是 sail,
sync_userid: '501'
经过测试,在 MacOS 10.15.7 使用 unison
策略,同步效果最佳
然后修改 docker-compose.yml
的关键部分即可:
version: '3'
services:
laravel.test:
volumes:
- 'unison-sync:/var/www/html/:nocopy'
volumes:
unison-sync:
external: true
开始文件共享并运行Laravel项目
docker-sync start && sail up -d
如果存在同步上的异常,执行 docker-sync clean && docker start
即可