【初心者プログラマ向け】自分の開発パソコンに仮想環境を上手に入れよう作戦

ベース環境初心者
ベース環境

開発経験を積むために、たとえば、pythonを入れてみたり、それこそphpを入れてみたり、色々やってみたくなるもんです。

ただ、開発マシンに直にインストールしてしまうと、後で面倒なことになりやすい。
たとえば、

  • バージョン違いのプロダクトを試したい
  • 素のlinux環境でやってみたい

そんな希望を叶えるために、毎回、開発環境を一から作り直すなんて手間中の手間。
メールをみる環境やら、ブラウザのブックマーク、googleのidやら全てを一から設定しなおさないといけない。
そんな手間はいやですよね。

新しい開発環境が欲しいなら、そんな開発環境をいつでもつくれる「体制」をとっておきたいところ。
ましてや、いろんな環境を平行に持ちたいこともありますからね。
1台に1つの環境ってことだと、複数台の開発マシンが必要になってしまいます。

環境のベース作り準備

そんな時、問題解決のキーとなるのが、仮想環境なわけです。

そんな技術を扱うために、まずは、こんな用語は抑えておきたいところ。

  • 仮想環境
  • VirtualBox/VMware
  • Docker
  • wsl(wsl2)

色々な希望を実現していくためには、いわゆる仮想環境が一番手っ取り早いです。
今、開発パソコンに入れているOSの上で、違うOSを動かしてしまうとか、そんな話ですね。
仮想環境を作るにも、VirtualBoxみたいなものや、Dockerみたいなものや、wslみたいなものがありますよと。

全部入れればいい?

ベースになるもの、つまりそれらをを全部入れればいいか?
それは待ってください。
私が、「とりあえず」作るとすると、こんなベース環境になりますので、
それをみてから考えてください。

みてわかるとおり、wsl は入れてません(笑)
wsl を入れるのであれば、Virtualbox上に windowsを入れて、そこにwslを入れますね。
でも、今回の環境は、VirtualboxにLinuxを入れれば済むことですから、wslは不要です。
wslを main OS に入れてもいいんですが、私の個人的な意見として、どうしても、main OS が弱くなりそうなので却下してます。

後、dockerを main OS 側に直に入れてないのも、「なぜ?」ですよね。
それにはちと技術的な事情があり、virtualboxを入れるか dockerを入れるか選択しなきゃいけない環境が多いから。
main OS の上に、両方とも同じレベルでってのが、まだ難しい。
ほんとは、おんなじレベルで入れたいんですけどねえ。

ベースをつくったら

ベースをつくったら、あとはやりたいことを考えて、上手にプロダクトを配置すればいいだけです。
純粋にLinuxをしたいなら、Virtualboxの上に ubuntuやらCentOS やらをインストールすればいいです。
そのLinuxにデータベース入れるだの、CMS入れるだの、なんでも好きにすればいいです。
ただ、そのLinuxにコンテナ切って機能を組み合わせたいなら docker でイメージを拾ってくればOK。

例えばこんな環境

例えば、こんな開発環境をもってます。

  • Virtualbox上で Ubuntu を立ち上げる
  • このubuntu上にDockerを入れる
  • このDocker上に、Webサービスのコンテナを入れる

webサービスというのは、それこそCMS系のものであったりオープンソース的なものです。dockerのイメージで提供されていたりするので、試しに入れてみている感じですね。
それを、guest os側、つまりubuntu上から実行するわけです。
IDE的なものは、開発する時々で環境が変わりますので、出来るだけguest os側に入れますね。

ただ、例外的なこととしては、普段どこの環境でも使うであろうものは、main OS に入れちゃってます。
それこそメインのブラウザや、メインの開発環境など。
visual code も、main os 側に入れてます。

まとめ

なんか変な環境ですねと言われそうですが、ほんとそうかもですね(笑)
本来であれば、 2台構成がいいんですけどね。

  • main OS で1台
  • 開発マシンで1台

開発マシンに vSphereを入れて、その上に linuxやらwindowsやらの開発OSをつっこむパターンです。
※vSphereが 先ほどでいうところの VirtualBoxの位置だと思っていただければ。

ただ、まだ vSphereでの安定した環境は作りにくいですので、VirtualBoxとかの安定した環境のほうがいいかもですねえ。

それでは、
お勉強環境として、どうぞ作ってみてください。

コメント

タイトルとURLをコピーしました