質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

3回答

774閲覧

1台のPC上に、もう一つまっさらな環境を作成する

Dash_003

総合スコア27

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2020/04/30 13:47

最近仕事で1つのプロジェクトが終わり、今度は別のプロジェクトに携わることになりました。

使う言語もDBもその他の環境も違うため、できれば買ったばかりのようなまっさらな状態から
開発環境の構築を行いたいなぁ、とふと思いました。
(ポートがぶつかったり、IDEのバージョンやプラグインなどが上手く噛み合わないとめんどくさい!)

色々調べてみると、VirtualBoxやDockerといった「仮想環境」というものがキーワードになるのかな?と感じました。
実際に利用している方に質問させていただきたいのですが、仮想環境を作ってそこで開発することについて不便なことは特にないのでしょうか?
また使い方としては正しいのでしょうか?
仮想環境は本来はこういうために使うんだよってのがあれば教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

開発環境を丸ごと仮想化する場合の制約

質問上で想定されている様な構成の場合、

  • 仮想環境はその性質上、スペックがある程度犠牲になる

という制約が発生するため、想定されている様なIDEも含めて新しいPCの様に使いたい場合に快適に使えるかどうかはPCのスペック次第になります。

また

  • OSを丸ごと走らせる必要があるので、OSやソフトウェアのライセンスに気を付けないといけない

というコスト上の制約も発生します。

windowsだと評価用のイメージがあるので、快適に使えるかどうかを試してみることをお勧めします。

十分に高速なストレージと潤沢なメモリがあれば、そこまで非現実的な速度にはなりません。
(現在のPCが十分に高速で無ければ、安いPCを買った方がマシな速度しか出ません)

Windows 10 の開発環境を取得する

DockerやVirtualBoxで開発環境の仮想化と言った場合の構成

一方で、DockerやVirtualBoxで開発環境の仮想化と言った場合は、

  • デスクトップ環境を丸々仮想化するのではなく、プログラムの実行環境を仮想化してホスト側からアクセス出来るようにする
  • IDEはホストOS側で動かし開発を行い、仮想環境とファイルを共有してプログラムの実行は仮想化されたサーバ側で行う

という構成を指すことが殆どです。
デスクトップとしてでは無く、サーバとして動作させる分には性能のオーバーヘッドも気にならない程度に抑えられるため、メリットがデメリットを大きく上回ります。

これも一度試してみることをお勧めします。
現在はごく一般的に求められる技術になってきているので、出来るようになっておいて損はありません。

その他

同じPCに別のOSを入れてデュアルブートさせるようにすれば、まっさらな環境を性能上の心配無く用意することが出来ます。
(ストレージはその分消費します。Windowsを複数入れるなら、その分Windowsのライセンスが必要)

ただ、WindowsとLinuxのデュアルブート構成は割と簡単に事故って起動しなくなったりするのでその辺りは注意と問題が起きた時に対応出来る強い心が必要になります。

手っ取り早いのは

手っ取り早いというか覚えることが少ない&性能的に楽&ライセンスのコスト/問題が発生しないのは

  1. 現状を丸ごとバックアップ
  2. リカバリーして工場出荷状態に戻し、新環境で必要な環境を作る。
  3. もし旧環境が必要になったら、新環境をバックアップして、旧環境のバックアップから復旧

ですかね。

投稿2020/04/30 14:18

編集2020/04/30 14:32
tanat

総合スコア18713

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Dash_003

2020/04/30 14:51

ありがとうございます。 イメージとしては割と簡単に別環境を作れてしまうのでは?と思っていたのですが、マシンパワーが必要だったりといった制約もあり、目的に対する手段としてはあまり良いとは言えないのですね。 OSについてもライセンスのことを全く考えていませんでした。。。 いただいた情報をもとにどうするべきか、金額的なコストと自分で設定にかかる時間的なコストなどを考えて判断してみます<(_ _)>
guest

0

ローカルに、WindowsやLinuxのGUIといった重いOSを仮想環境で立ち上げるのは、非現実的です。
動作がもっさりして厳しいです。

開発言語によりますが、Cloud9とか、LinuxのCUIといった仮想環境を立ち上げてその中で完結させると言ったアプローチがあります。

ベンチャー系Webの世界では、基本的にLinuxコンテナで構築してあり、 docker-compose up をすれば開発環境が立ち上がるような状態になっているのが最近のトレンドです。

投稿2020/04/30 14:03

matsubokkuri

総合スコア744

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Dash_003

2020/04/30 14:55

開発環境から本番環境への移行をスムーズに行いたいという目的に対して、Linuxコンテナというものは手段として一致しているように少し調べてみて思いました。 AWS系の技術も必要な知識なので色々調べてみようと思います。
guest

0

速度は遅く、メモリやストレージは少なくなります

それでよければ。

投稿2020/04/30 13:50

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問