1. ホーム
  2. vagrant

[解決済み] 分離された環境を作るにはVagrantとDockerのどちらを使うべきですか?[クローズド]

2022-03-14 06:22:01

質問

私は開発とデプロイメントにUbuntuを使用しており、隔離された環境を作成する必要性があります。

この目的のためにVagrantかDockerのどちらかを検討しています。これらのソリューションの長所と短所、または比較はどのようなものでしょうか?

どのように解決するのですか?

分離が目的であれば、Dockerがいいと思います。

Vagrantは、仮想マシン管理ツールです。プロビジョニングだけでなく、仮想マシンの設定をスクリプト化することができます。しかし、仮想マシンはあくまでも バーチャルボックス (またはその他)の膨大なオーバーヘッドを伴う。ハードディスク・ファイルが巨大になる可能性があり、多くのラムを消費し、性能もあまり良くないかもしれません。

一方Dockerは、カーネルのcgroupとnamespacingを使用し LXC . つまり、ホストと同じカーネルを使い、同じファイルシステムを使うということです。 Dockerfile を使用するには docker build コマンドを使用することで、コンテナのプロビジョニングとコンフィギュレーションを処理できます。以下に例があります。 docs.docker.com Dockerfileの作り方は、とても直感的です。

Vagrantを使用する唯一の理由は、UbuntuボックスでBSDやWindowsなどLinux以外の開発を行う必要がある場合です。そうでなければ、Dockerを使いましょう。