フリーランス チャレンジ!!

フリーランス チャレンジ!!

週休4日制に俺はなる!

開発者がDockerを使うべき3つの理由

f:id:ksakae1216:20171126144918j:plain

どうもコウタロウです。

 

今日はタイトルについて。

 

 

そもそもDockerって何?

コンテナ型の仮想環境です。

VMWareやVirtualBoxと比べて軽量なので開発環境にはもってこいです!

 

さて開発する時はまずPCに開発環境を構築しますよね。

 

開発するプログラム言語(Java、PHPなど)、データベース、Web開発であればWebサーバーも。

 

私が今まで経験した現場は以下のパターンで環境を作っていました。

 

パターン1:手順書通りインストール

最初に知見のある人、若しくは技術力ある人がインストール手順書を作っていてそれを見ながらインストールします。

 

用意されたインストーラーと手順書を見ながらインストールして設定を変更し開発環境を構築するんですが、手順書の不備でうまくいかなかったり、みんなうまくいくんだけど、一人だけうまくいかないケースがあります。

 

※手順書通りにやってるつもりが間違ってしまったり、うまくいかない人だけPCの設定が違ったりして失敗するケースがある。

 

パターン2:仮想環境

こちらも最初に環境構築する人がいるのですが、最初の人が構築した環境をイメージとして配布することができます。

 

他の人はその配布されたイメージをVMWareやVirtualBoxで立ち上げればそれで開発環境は整います。

 

パターン1と違い、失敗することがないので環境構築の手間はグッと少ないです。

 

但し、イメージはOS、ミドルウェア(DB、Webサーバーなど)を含んでいるのでサイズが20GB以上あったります。

 

しかしDockerは、パターン2の仮想環境のメリットとにプラスしてイメージも軽く構築や作り直しの手間、起動が早いのが特徴です!

 

ということでDockerを使うべき3つの理由をご紹介します!! 

※DockerはWindowsでもMacでもどちらでも使えますよ。

 

理由1(開発環境構築がラク)

 まず最初がコレ

 

開発環境構築がラクなんです。

 

最初にDockerFileを作ってしまえばそれでお終い。

DockerFileはテキストベースでOSやミドルウェアのインストールが記載されているのでVMWareなどのイメージのように何十GBになることもありません。

 

なので気軽に配布もできる。

 

間違わない、配布もラクなので環境構築もラクになります。

 

理由2(動作が軽い)

 次は動作が軽いこと。

 

VMWareやVirutalBoxも起動すればサクサク動くんですよ。

 

でもねVMWareやVirtualBoxはイメージからOSやミドルウェアを読み込むので起動が遅いし、少なくても仮想環境用にメモリを4G以上は割り当てないと開発できないので作業PCのスペックも高くなければいけません。

 

そこへいくと、Dockerは起動も早いしメモリが少なくてもサクサク動きます。

実際、私はMacBook Airでメモリ4GBですが、普通に動きます。

 

理由3(保存もラク)

これも大事。

私のようにフリーランスでプロジェクト毎に現場が変わる人はあまりメリットではないですが、同じPCで幾つものプロジェクトで開発していると結構しんどいです。

 

10年前は仮想環境も一般的でなかったのでプロジェクトが変わる度に、そのプロジェクト用にインストールや設定変更を繰り返し、eclipse環境なんかはグッチャグチャでした。

 

ここ3、4年くらいは仮想環境上に開発環境を構築する現場も増えてきましたが、各開発初期のイメージを念のため、サーバーに保存するんだけど、数十GBあって容量食うんだよね。

 

これを全てサーバー上に保存しておくと大変。

 

だけど、DockerだったらDockerFileだけで済むから容量食うこともない。

他に最終的なDBのDmpと最新ソースだけあればOKなのでVMWareなどのイメージを保存するのと比べて楽勝です!

 

最後に

ということで、

①開発環境構築がラク

②動作が軽い

③保存もラク

なのでDockerを使いましょう!!

 

お終い。

 

【関連記事】

簡単 Docker入門 - フリーランス チャレンジ!!

 

【Docker入門】公開されているイメージを使う(MySQL編) - フリーランス チャレンジ!!

 

【Docker入門】5分でMySQLのDB、テーブル作成 - フリーランス チャレンジ!!