2016-06-18 6 views
4

これは私を狂ってしまう。私はドッカーについて多くを読んで、まだ理解できない - 私のためにドッキングウィンドウです...開発環境を分離するためにドッカーを使用できますか?

を私は開発のためのUbuntuを使用して仮想マシンを起動するために仕事や浮浪者では、Mac OS Xを使用しています。私はプロダクションサーバで使用するのと同じosとlibsを使用したいので、プロジェクトごとにバグを使用します。 rbenvやnvmのようなツールは端末の起動時間が長くなるので嫌です。両方が有効になっている場合は、新しい端末タブが表示されるまで2..4秒待つ必要があります。私は速く入力し、この遅れは生産性を低下させます。

私は迷惑な人でもOKですが、各VMに〜800 MBのRAMを必要とするバーチャルボックスを使用しています...そのあまりにも多く。

問題は次のとおりです。ドッカーを流しと同じように使用できますか?私は2つのプロジェクトがあり、プロジェクトAにはRuby 2.0、プロジェクトBにはRuby 2.3を使用する必要があるとします。ドッカーが独自のバージョンのRubyをそれぞれ2つ作成することは可能ですか?そして、私はこれらのバージョンのRubyがシステムRubyと交差することを望んでいません。

迷惑メールを使って、私はRuby 2.0で2つのVMを作成し、2つ目はRuby 2.3で作成します。私がそれらのどれも必要としないなら、私はVMを破壊し、私のシステムはゲストマシンにインストールされていなくても、ソフトウェアがインストールされたままになります。

編集:私はOS XでネイティブにDockerを使用することはできません。いくつかのLinux Ubuntu/Debian/Arch/etcを想定しましょう。 Linux + Dockerが私の望むものを私に与えることが分かったら、私はLinuxに移ります。

+1

[隔離された環境を作成するためにバゲントまたはドッカーを使用する必要がありますか?](http://stackoverflow.com/questions/16647069/should-i-use-vagrant-or-docker-for-creating-an) -isolated-environment) – BMitch

答えて

5

あなたはそれはまだVMを使用していますが、それはVirtualboxのより軽いのMac OS X用の新しいドッキングウィンドウのベータ版を使ってMac OS Xにドッカーを使用することができます。また、OS Xとの統合も強化されています。今のところ、ややバグがあります。

あなたの質問に答えるために、はい、他のコンテナやシステムに影響を与えずに、ドッカーコンテナ内の必要なランタイムで環境を作成することができます。コンテナは通常、内部に1つのプロセスを実行するので、迷惑メールボックスのように複数のサービスを実行するとは思わないことに注意してください。 OS全体ではなく、別のカーネルネームスペースで実行される実行可能ファイルに過ぎません。複数のプロセスを実行する場合、回避策がありますが、それを行う「正しい」方法は、複数のコンテナをdocker-composeのようなものを使って一緒に使用することです。

+0

ありがとうございました。これは貴重な情報です。 –

3

はい、ホストマシンがインストールしたものにまったく影響しない異なるバージョンのRubyを実行する2つの異なるDockerコンテナを絶対に作成できます。

Dockerfileを作成するときは、拡張するベースイメージを指定します。例:

FROM ruby:2.3-onbuild 

Ruby Official Docker Imagesは2.1に戻っていますが、それを止めることはできません。 2.3 Dockerfileを見て、あなた自身で書き直してください。古いバージョンのRubyをインストールすれば完了です。どのような種類のカスタマイズされたDockerイメージも簡単に作成できます。

出典:

Ruby Official Docker Image

関連する問題