我目前使用docker-sync,但是当更改许多文件时,更改分支时会崩溃很多。我试图找到一种在不使用卷的情况下不使一切工作的方法,但是我遇到了典型的Mac卷性能问题。
通过这种配置,我可以使容器中的所有内容运行得很快,但是,当启用代码重新加载器时,每个网络请求都会变慢(我猜是因为它正在扫描整个目录)。是否有解决方法,仍然可以重新编译更改?
version: '3.7'
services:
phoenix:
image: us.gcr.io/zipbooks-157701/phoenix
volumes:
- ./phoenix-api:/app/phoenix-api:delegated
- /app/phoenix-api/deps/
- /app/phoenix-api/_build/
environment:
DB_PASSWORD: root
DB_HOSTNAME: mysql
TESTING_DB_HOSTNAME: mysql
REDIS_HOST: redis
depends_on:
- mysql
- redis
...
答案 0 :(得分:2)
有两件事:代码重新加载器,它在每个请求上编译您的代码;和实时重新加载器,它扫描文件系统中的更改。代码重新加载器应与调用mix compile
一样快。实时重新加载器是完全可选的(仅通过websockets重新加载)。
如果问题在实时重新加载器中,则可以将其删除,也可以限制其监视性能的目录。请参阅自述文件中的相关说明:https://github.com/phoenixframework/phoenix_live_reload#backends