0

Dockerを使用している私のアプリケーションは、UbuntuやWindows + VirtualBox(Vagrantなし)でわずかに異なるはずです。DockerからVirtualBoxを検出する

それは私が Ubuntu > Docker > Ubuntuまたは
Windows > VirtualBox > Ubuntu > Docker > Ubuntu
にいるかどうかを検出することは可能ですか?

なぜこれが必要ですか?
私は、VirtualBox共有フォルダのため、PHP Symfonyアプリケーションと開発環境がWindowsで非常に遅いです(それぞれのリクエストは5秒以上かかる)。私はvar/cachevar/logsから/dev/shm/appname/に移動し、すべてがはるかに高速になります。しかし、Ubuntuを使用する開発者はこれを必要としません。このハックがなくてもうまくいきます。

私のアイデア
各開発者は、それが自分のdocker-compose.ymlだ持っており、環境VARSを設定したが、今、私たちは、ほとんどの場合に同じdocker-compose.ymlを共有することができます。

答えて

1

はストレッチすることができるが、symfonyのアプリケーションのカーネルでパスを設定するとき:PHP df /some/application/file.phpから

  1. コールをして、ファイル(最後の列)のマウントポイントをキャプチャします。
  2. PHP mount | grep "$mount point" | grep "vboxsf" |wc -lからの呼び出しです。 result> 0の場合、VirtualBox共有フォルダを使用しています。
+0

'mount | grep vboxsf'はクールです。私はそれが空であるかどうかをチェックし、Virtualboxかどうかを判断できます – luchaninov

関連する問題