結論
「根本的にDockerではそういうことはできない」です。
短期的にはVagrant+VirtualBOXの習得がお勧めで、
長期的な目ではVagrant+VirtualBOX+Dockerや、docker-machine+VirtualBOXのどちらかが良いでしょう。
簡単にDockerを説明すると、
Linuxネイティブで動く超コンパクトなVirtualBoxみたいな奴です。
LinuxネイティブなんでWindowやMacOSでは動きません。
でもOSのキャッシュやらなんやらで超ハイテクな様々なライブラリを駆使しているので、
Apache専用仮想マシン、MySQL専用仮想マシンのように環境をバコバコ立ち上げても、
普通に1個のマシンにApacheとMySQLをインストールして動かしているようにしか見えない負荷とファイル容量で動きます。
これのメリットはデプロイ時によくあるローカルとはPHPのバージョンが違うとか、
ローカルと本番環境のphp.iniの中身が微妙に違うとかで、動きが変わって本番適用後に落ちる現象を極力下げる効果があります。
Dockerのβバージョンが現在WindowsとMacOSで出ています。
これの原理はVirtualBOXでLinux環境を立ち上げて、
WindowsとMacOSでDockerコマンドを打ち込むと、そのコマンド内容をそっくりLinux環境へ持って行って実行するというものです。
考え方は完全にdocker-machineと同じものです。
このDockerのβ版はHyper-V等の超高速なしくみを使った超高速Linuxを立ち上げるところにあり、
VirtualBOXとは一線を画する速度で動くので、Dockerのオーバーヘッドが少ないというメリットも享受できます。
ただし、まだβ版なので、Windowsはそもそも互換性が悪くちゃんと動かない論外、
MacOSは動く事は動くが定期的にCPU使用率が100%超えるという感じなので、
生暖かい目で見守ってあげましょう。
質問者さんの要件ならばまずVagrantを覚えると良いでしょう。
VirtualBOXやVMWare等、CLIで使う場合コマンドが違って大変じゃないですか?
デプロイする時にAWSとか、Azureとかありますが、それもサービスによって全部コマンドが違う・・・・
そういう仮想環境を立ち上げる時に全て同じコマンドでやってしまおうというプロジェクトがVagrantです。
BOXという概念でスタート時点のLinuxマシン+初期設定のプロビジョンを自動的に適用する機能もありますので、
誰がどう起動しても、設定ファイルが同じならば同じ環境が立ち上がるという事が実現出来ます。
Dockerは更に次の次元、ApacheやMySQL等のアプリケーション単体に絞って仮想化してしまおうというものなので、
短期的には目的とは違いますので勉強に時間がかかります。
しかし、次世代のサーバーはこれで動くだろうということで、勉強しておいたほうが良いかと思います。
早足でざっくり書きましたので誤字脱字あるかもしれません。
分からない事があればコメントにでも書いてください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/16 09:13
2016/06/16 09:20
2016/06/16 09:40
2016/06/16 10:19