我有一个稍微大一点的 Symfony 应用程序,我通过在 Dockerfile 中添加所有文件在 Docker 上运行它,并在容器内运行所有内容。我这样做只是为了测试目的,但现在我也想将开发环境切换到 Docker,并尝试使用 -v 参数将我的本地目录安装到容器中,使用如下命令:
docker run -v /Users/用户名/pathtofiles:/pathtofilesincontainer -i -p 80:80 -t tag sh /pathtofilesincontainer/init.sh
这会将 /Users/username/pathtofiles 文件夹挂载到 /pathtofilesincontainer,并成功运行 init.sh。init.sh 是一个基本的 shell 脚本,它对性能或任何东西没有任何影响。
我的 ~/.profile 文件设置正确,并且 /etc/hosts 文件有一个指令将 current.local 指向 DOCKER_HOST ip。
当我通过 Dockerfile 中的 ADD 命令将所有文件复制到容器中来运行应用程序时,它运行完美的响应时间约为 0.5 到 1 秒。当我使用上述命令挂载相同的文件时,速度非常慢。页面呈现大约 25-35 秒。
我在 SO 下搜索了其他主题,但没有一个对我有真正的帮助。我尝试禁用 xdebug,将 php_ini realcache 设置设置为建议值,运行 app/console cahce:clear 命令,尝试连接到本地 mysql 服务器等……没有任何效果。
任何人有任何其他想法或任何建议?提前致谢!
我的堆栈是:Symfony2、MySQL、Apache2、Docker 1.3.0、boot2docker 1.3.0、VirtualBox