回答編集履歴
2
ところどころ変だったので調整
answer
CHANGED
@@ -2,30 +2,35 @@
|
|
2
2
|
|
3
3
|
YESかNOかで言えばその通りなのでYES。
|
4
4
|
|
5
|
-
結論から言えばDockerはオーバヘッドが無くてコンテナを
|
5
|
+
結論から言えばDockerはオーバヘッドがほぼ無くてコンテナを沢山作れます。
|
6
|
-
じゃあPHPとMySQLはわざわざ同じ
|
6
|
+
じゃあPHPとMySQLはわざわざ同じコンテナで動かさなくても良いよねという文化なのです。
|
7
7
|
|
8
8
|
---
|
9
9
|
|
10
10
|
以下ちょっと詳細な解説
|
11
11
|
|
12
|
-
DockerはVirtualBOXと同じく仮想マシンを
|
12
|
+
Dockerは大枠で見ればVirtualBOXと同じく仮想マシンを生成する技術です。
|
13
|
-
|
13
|
+
VirtualBOXでは1台のマシンに「MySQLやアパッチ等をいれて実装する」のが一般的ですね。
|
14
|
-
Dockerの
|
14
|
+
Dockerでも同様の事がしたくなりますが事情が異なります、
|
15
15
|
|
16
16
|
参考サイト: [今からでも間に合うDockerの基礎。コンテナとは何か、Dockerfileとは何か。Docker Meetup Tokyo #2](http://www.publickey1.jp/blog/14/dockerdockerfiledocker_meetup_tokyo_2.html)
|
17
17
|
|
18
|
-
逆にVirtualBOXはCPUから一部切り出した仮想CPU、メモリから一部切り出した仮想メモリという風に、
|
19
|
-
|
18
|
+
Dockerは別に仮想マシン(コンテナ)を何台立ち上げても(ローレベルでは)仮想マシンではないのでオーバーヘッドが殆どありません。
|
20
|
-
|
19
|
+
ポコポコとこれはApache(+PHP)専用マシン、MySQL専用マシンという風に機能毎にコンテナを作っても構いません。
|
21
20
|
|
21
|
+
例えばPHPは7.2.1の新しい構文を使いたいけど、
|
22
|
-
|
22
|
+
MySQLは枯れてる方が嬉しいから5.6使おう…みたいな選択も簡単に出来るわけですね。
|
23
23
|
|
24
|
-
PHPは7.2.1の新しい構文を使いたいけど、MySQLは枯れてる方が嬉しいから5.6使おう…みたいな選択も簡単に出来るわけですね。
|
25
24
|
各サーバソフトはDcokerHubというサイトでバージョン別に管理されてますので、
|
26
25
|
特殊なモジュールを導入しない限りはDockerHubから落として使うだけで事足ります。
|
27
|
-
(PHPは日本語モジュールやMySQL用モジュール等が必要で個別にインストールする形になりそうですが…)
|
28
26
|
|
27
|
+
---
|
28
|
+
|
29
|
-
|
29
|
+
VirtualBOXはCPUから切り出した仮想CPU、メモリから切り出した仮想メモリ、という風にホストマシンから様々な機能を切り出して専有します。
|
30
|
-
|
30
|
+
その切り出した能力を集めて1台の仮想マシンを作るので非常にコストが重く低速であり、ホストマシンにも多大な負荷をかけてしまいます。
|
31
|
+
|
31
|
-
|
32
|
+
Dockerと同じようにApacheで1台、MySQLで1台という構成は不可能ではありませんが、
|
33
|
+
重いIDEやブラウザとセットで利用する場合はそれなりに高性能なスペックのマシンが要求されます。
|
34
|
+
|
35
|
+
従って、実際の開発環境構築時は1台だけ立ち上げて、
|
36
|
+
その1台にシステムを構築する全てのソフトウェアをぶち込む設計が一般的でしょう。
|
1
誤字修正
answer
CHANGED
@@ -22,8 +22,9 @@
|
|
22
22
|
Dockerは別に何台作っても(ローレベルでは)仮想マシンではないのでオーバーヘッドは殆どありません。
|
23
23
|
|
24
24
|
PHPは7.2.1の新しい構文を使いたいけど、MySQLは枯れてる方が嬉しいから5.6使おう…みたいな選択も簡単に出来るわけですね。
|
25
|
-
|
25
|
+
各サーバソフトはDcokerHubというサイトでバージョン別に管理されてますので、
|
26
26
|
特殊なモジュールを導入しない限りはDockerHubから落として使うだけで事足ります。
|
27
|
+
(PHPは日本語モジュールやMySQL用モジュール等が必要で個別にインストールする形になりそうですが…)
|
27
28
|
|
28
29
|
逆にVirtualBOXはPHPだけ7.2.1を使ってMySQLは5.6…みたいな我儘を出すと、
|
29
30
|
スナップショットがn*mという掛け算の構成が必要であり、莫大な量になってしまいます。
|