【初心者向け】おすすめのプログラミング環境を作ろう【後編: 仮想化環境の構築】

こんにちは、masakiです。

ブロガー
プログラミングをこれから始めたいけど、どのような環境が必要なの?ベストプラクティスを知りたいなぁ・・

このような疑問をもっている人の為の記事です。

これからプログラミングを始める初心者でも、一般的なフリーランスエンジニアや制作会社が利用している環境を構築できるようにするのが本記事の目標です。

前編では基本環境の構築をしました。

【初心者向け】おすすめのプログラミング環境を作ろう【前編: 基本環境を構築】

2019年8月24日

前回の中編では、プログラミングに必須の開発エディタをインストールして設定を行いました。

【初心者向け】おすすめのプログラミング環境を作ろう【中編: 開発エディタ】

2019年9月1日

【後編】では、dockerというソフトをインストールして、仮想化環境というのを構築していきます。

『仮想化環境ってなに?』『なぜ仮想化環境が必要なの?』という人の為に、始めから説明しますね。

スポンサーリンク

仮想化環境とは

仮想化とは、簡単にいうと、自分のパソコンの中に別の仮想パソコンを起動することです。

なぜあなたのパソコンの中に、さらに別の仮想パソコンを立ち上げる必要があるのでしょうか?

仮想化環境が必要な理由

[理由1]あなたのパソコンの中がごちゃごちゃになるから

あなたが開発したプログラムを動かすには、色々な関連するライブラリやソフトウェアが必要になることがあります。

そのようなライブラリやソフトウェアを、大量にあなたのパソコンにインストールすると、あなたのパソコン内に色々なファイルができて汚くなります。

仮想化環境の中で開発すれば、必要なライブラリやソフトを仮想化環境の中にインストールすることであなたのパソコンの中身をクリーンに保つことができます。

その開発をしなくなったら、仮想化環境を削除するだけでOKです。

[理由2]プログラムの動作は環境に依存するため

例えば、あなたがwebサイト+システムを構築しているとします。

通常、あなたのパソコンの環境と、あなたが実際にwebサイトを公開するサーバーの環境は同じではありません。

あなたのパソコンのOSはmacですが、サーバーはlinuxだったり、あなたのプログラムに関連するソフトウェアのバージョンが少し違っていたりします。

あなたの書いたプログラムが、あなたのmacで動くからといって実際の本番環境で動く保証はないのです。

こういった面倒くさい状況を回避するために、あなたのパソコンに仮想化環境を構築して、本番環境と同じ環境にしておくことができます。

[理由3]複数人で開発するときも、プログラムの動作は環境に依存するため

あなたが、A君、B君と3人でプログラムを開発しているとします。

あなたが書いたプログラムは、あたなのパソコンの中では動きますが、A君とB君のパソコンの中で動くとは限りません。

なぜならば、あなたのプログラムの動作が何かのソフトウェアやライブラリに依存していた場合、A君とB君のパソコンの中に、そのソフトやライブラリがインストールされているとは限らないからです。

反対にA君B君が書いたプログラムも、あなたのパソコンの中で動く保証はありません。

こういった問題が発生すると、複数人で開発するのは非常に難しくなります。なぜなら誰かがプログラムを更新するたびに、誰かのパソコンで動かなくなるからです。

こういった問題を解決するためにも、仮想化環境が使われます。
全員のパソコンで同じ仮想化環境を構築しておけば、誰のパソコンでも必ず開発しているプログラムが動作します。

このような理由で、現在では仮想化環境を使って開発を行うことが一般的になっています。

仮想化環境の種類

仮想化環境は、大きく分けて2つの種類があります。

ホスト型仮想化コンテナ型仮想化です。

以下に違いを簡単に解説します。

ホスト型仮想化

ホスト型仮想化というは、一般的な仮想化の方法です。

あなたのパソコンに仮想化ソフトを使って、別のOSをインストールして仮想化パソコンを構築します。以下のような構成になります。

あなたのパソコンのOSをホストOS、仮想化環境にインストールしているOSをゲストOSという呼び方をします。

ホストOSの上に、ゲストOSが乗り、仮想環境毎にゲストOSが存在します。

例を上げると、あなたのMacに『windows OSの仮想化環境』『linux OSの仮想化環境』というように複数の仮想化環境を構築できます。

このホスト型仮想化の開発環境を構築するための、もっとも有名はソフトウェアはVargnantです。

しかし今回は、ホスト型仮想化は使いません。

コンテナ型仮想化

コンテナ型仮想化は、ホスト型仮想化と構成が異なります。

以下の図のような構成になります。

コンテナ型仮想化とホスト型仮想化の最大の違いは、ゲストOSを起動しないことです。

この構成の仮想化環境を実現するソフトウェアが、Dockerです。

Docker Engineが『コンテナ』と呼ばれる実行環境を作成し、その中でアプリケーションが実行されます。

これにより、ゲストOSを起動するホスト型仮想化よりも、高速かつ軽量に動作します。

現時点、コンテナ型仮想化を使った開発環境が一般的なので、本記事ではこちらを採用して仮想化環境を構築していきます。

では、あなたのMacにdockerをインストールしていきます。

Dockerのインストール

Dockerとは

Dockerとは、上記コンテナ型仮想化を実現するためのソフトウェアです。

Docker = 仮想化、仮想化 = Dockerという程の知名度とシェアを獲得しており、現時点仮想化開発環境といえばDockerのことを指します。

DockerはDockerHubという、コンテナを管理、配布する便利なwebサービスを提供しています。

前編で、Gitはあなたが今後作っていくプログラムのソースコードを便利に管理する為のソフトウェア群。GithubはそれをWeb上で管理できるようにするサービスだと解説しました。

gitとgithubとの関係と同じで、Dockerはコンテナを作成したり管理するソフトウェア群。DockerhubはそれをWeb上で管理・配信できるようにするサービスだと思ってください。

まずはDockerHubに登録する必要があります。

DockerHubへの登録

以下のURLにアクセスして会員登録を行っていきます。

https://hub.docker.com/

『Get Started』をクリックしてください。

『ID』『Password』『Email』を入力して『Continue』ボタンをクリックするとメールが届きます。

メールに記載されているURLをクリックして認証すると、登録が完了します。

DockerHubからDockerをインストールする

会員登録し、ログインすると、以下の画面になります。
『Get started with Docker Desktop』をクリックすると、ウィザード形式のチュートリアルが出てきて簡単にインストールできるようになっています。

クリックすると以下の画面になります。
『Download Docker Desktop for Mac』をクリックしてDocker.dmgファイルをダウンロードしてください。

ダウンロードしたDocker.dmgファイルをクリックすると以下の画面になります。
Applicationフォルダにインストールしてください。

Applicationフォルダにインストールしたら、インストールは完了なので、web画面上で『next』をクリックしてウィザードを次に進めていきましょう。

ここから先は、先程ApplicationフォルダにインストールしたDockerをテストプログラム動かしてみる為のウィザードになります。

まー・・やらなくても良いのですが、一応公式のウィザードなのでやっておきましょうか。

ここから先は『ターミナル』が必要になります。前編で使った黒い画面のやつですね↓↓。

では、まずmac上でターミナルを立ち上げます。

Contrlキー + Spaceキーを押して出てきた画面に『ターミナル』と入力してEnterキーを押してください。

ターミナルが立ち上がるはずです。ターミナルが立ち上がったら、Web上のウィザードの青枠の部分をコピペしてターミナルに貼り付けて、ウィザードに従ってください。

最後のコマンドを打ち終わると、以下のようなアスキーアートが表示されます。

これでDockerのインストールは完了です。

Kitematicのインストール

ここまで来た人は、macのタスクバーにDockerのアイコンがいるはずです。

『Kitematic』をクリックしてください。

Kitematicとは、DockerをGUIで操作できる非常に便利なソフトなのでインストールしておきましょう。

クリックすると、

https://kitematic.com

にジャンプするので、ダウンロードしてインストールします。

インストールした後、MacのタスクバーのDockerアイコンから『Kitematic』をクリックすると、以下のような画面になり、GUIでDockerを操作できるようになります。

DockerとVisual Studio Codeを連携する

中編で開発エディタであるVisual Studio Codeをインストールして設定しました。

【初心者向け】おすすめのプログラミング環境を作ろう【中編: 開発エディタ】

2019年9月1日

開発エディタは、プログラミングするときには、母艦と言って良い存在です。

この母艦である開発エディタから全ての操作ができたほうが便利なので、開発エディタからDockerを操作できるようにします。

Dockerプラグインをインストールする

このプラグインをインストールすると、Visual Studio CodeのメニューにDockerアイコンが表示されます。

※ Visual Studio Codeのプラグインのインストール方法は中編の記事をご覧ください。

このアイコンをクリックした後の画面で、Dockerを操作することができます。

Remote – Containers プラグインをインストールする

このプラグインは今回は詳しく説明しませんが、必要になるので入れておきましょう。

このプラグインを入れることにより、以下環境にVSCodeからリモート接続して開発することができるようになります。

  • Dockerで動作しているWorkspace
  • SSHで接続可能なリモートサーバーで動作しているWorkspace
  • WindowsのWSLで動作しているWorkspace

まとめ

これで以下のような基本的な開発環境が完成しました。

次回は実際にこの環境で、PHPとフレームワークを使って開発していきます。

エンジニアがおすすめするプログラミングスクール3社

スポンサーリンク