当前位置: 首页 > 工具软件 > docker-sync > 使用案例 >

docker ubuntu 文件同步_使用 docker-sync 让 mac 和 docker 之间的文件同步变快

司徒俊雄
2023-12-01

最近,在 mac 上面安装了 docker,然后让开发环境运行在 docker 上面

总的来说感觉不错

但是同一个页面,在 linux 上面的时候需要 4 秒,在 mac for docker 上面需要 25 秒

调查了一下原因

搜索了一下解决办法

1. vagrant -> virtualbox -> linux -> docker

试了下用 vagrant 安装 linux,然后 docker 跑在 linux 上面,用 nfs 来同步

速度确实变快了,但是多安装了一层总感觉有点麻烦

所以调查了一下其他的解决办法

2. docker-sync

在 docker-for-mac 的网站和 github 的 issue 里面有介绍

试了下感觉不错,总结下如何使用的

1. 在 mac 上面安装 docker-sync$ gem install docker-sync

$ brew install fswatch

$ brew install unison

$ brew install eugenmayer/dockersync/unox

$ docker-sync start

2. 添加 docker-sync.yml 文件version: '2'

syncs:

sync-folder:

src: '.'

sync_strategy: 'unison'

# 同步时的用户ID,不指定的话为root

sync_userid: '1000'

sync_excludes: ['vendor/bundle/', 'node_modules', 'tmp']

具体设置可以看这里

3. 添加 docker-compose-dev.yml 文件version: '3'

volumes:

sync-folder:

external: true

services:

app:

volumes:

- sync-folder:/www/sample_project

把 mac 的当前文件夹和 docker 服务器里面的/www/sample_project 进行同步

4. docker-compose up$ docker-compose -f docker-compose.yml -f docker-compose-dev.yml up -d

然后无论在 mac 还是在 docker 里面进行文件修改,都会自动进行同步

有时候不知道什么原因无法同步的时候可以重启 docker-sync

$ docker-sync clean

$ docker-sync start

总结

mac for docker 的文件同步很慢,目前发现两种解决方法

vagrant -> virtualbox -> linux -> docker

docker-sync

个人比较喜欢第二种,有更好的解决办法请回复我

 类似资料: