【问题标题】:Detecting Virtualbox from Docker从 Docker 检测 Virtualbox
【发布时间】:2016-09-05 04:32:15
【问题描述】:

我使用 Docker 的应用程序应该在 Ubuntu 和 Windows + VirtualBox(没有 Vagrant)中直接运行略有不同。

是否可以检测到我是在
Ubuntu > Docker > Ubuntu 还是
Windows > VirtualBox > Ubuntu > Docker > Ubuntu

我为什么需要这个?
由于 VirtualBox 共享文件夹,我有 PHP Symfony 应用程序和开发环境在 Windows 中非常慢(每个请求需要超过 5 秒)。我搬出var/cachevar/logs/dev/shm/appname/,一切都变得更快了。但是使用 Ubuntu 的开发人员不需要这个——即使没有这个 hack,它也能很好地工作。

我的想法
每个开发人员都可以拥有自己的docker-compose.yml 并设置环境变量,但现在我们在大多数情况下共享相同的docker-compose.yml

【问题讨论】:

    标签: php docker environment-variables virtualbox docker-compose


    【解决方案1】:

    在 Symfony 应用程序内核中配置路径时可能会有些牵强:

    1. 从 PHP 调用 df /some/application/file.php 并捕获文件的挂载点(最后一列)。
    2. 从 PHP mount | grep "$mount point" | grep "vboxsf" |wc -l 调用。如果结果 > 0,那么您正在使用 VirtualBox 共享文件夹。

    【讨论】:

    • mount | grep vboxsf 很酷。我可以检查它是否为空并确定它是否是Virtualbox
    猜你喜欢
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    相关资源
    最近更新 更多