Dockerって現場でも使われているの?おすすめ勉強法は?

今年最後の楽天スーパーSALEがまもなく開催! エントリーが必要なのでお忘れなく!

こんにちはhimakuro(@himanakuroneko)です

プログラミングで新しい言語やツールを使おうとすると環境構築が必要ですよね。

僕は環境構築が大の苦手で、いつも苦戦していました。

pathが通っていない、必要な物がインストールされていない、ポートが違う、挙句の果てに一度構築した事がある内容でも日付が経つと忘れていたり、依存パッケージやバージョンが違うと怒られる始末。

正直、プログラミングの最大の壁は環境構築だと思っていました。

しかし、こんな僕の悩みを解決してくれるソフトがありました。

Dockerです

今回の記事ではDockerとは何か、使用するメリット、現場ではどの様に使われているのか、おすすめの勉強法について解説します。

この記事を読んで環境構築という無駄な時間を最小限にして開発に専念出来るようになりましょう。



Dockerとは

docker

「Dockerとは」で検索をすると、コンテナとか仮想マシンとか見慣れない単語が使われた説明が出てきますが、最低限下記のことを把握しておけばなんとかなります。

Dockerとは
  • 自分のパソコンの中に新たなパソコンの領域を作る
  • その領域ではRailsやWordPressの様な好きな環境を構築可能
  • 作成した環境は好きなときに起動、停止、削除が出来る
  • 環境を削除しても設定ファイルが残っていれば簡単に復元可能
  • 作成した環境(コンテナ)はイメージという単位で管理される
  • DockerはGo言語で作られている

VagrantやVMを使ったことがある人はそれと近しいイメージを持って頂けると分かりやすいかもしれません。

なぜDockerを使うのか。Dockerを使うメリットとは

why we use docker

環境構築をしたことがある人であればピンとくると思うのですが

初心者のうちの環境構築は地獄です

冒頭にも書いたように、環境構築には様々な壁があります。

「少しプログラミングをしてみたいだけなのに・・・」と言う場合でも、それがPHPやRubyと言ったサーバー言語であれば、まずサーバーを建てるところから始めなければなりません。

学びたいのに、興味はあるのに、環境構築という壁が超えられずに断念する方は多いのではないでしょうか。

Dockerはそんなあなたの悩みを瞬時に解決してくれます。

 

Dockerを使って環境構築をする際には「Dockerfile」、「docker-compose.yml」と言った設定ファイルを元に環境を作ります。

例えばDockerを使ってRailsの環境を構築したい場合は設定ファイルに

FROM rails:onbuild

と書いて起動するだけでRailsの環境構築が終わります。

Railsの環境をいちから作ろうとするとrbenvを入れたりrubyのバージョンやRailsのバージョンを指定したりとかなり面倒ですがDockerを使えば一瞬で終わるのです。

 

あまりにお手軽で、これだと本来の手順や必要なライブラリを全く把握出来ないのではと懸念される方もいるかもしれません。

でも安心してください。

環境構築の手順はネットで検索をするといくらでも出てきますし、少しプログラミングに慣れてからの方がより理解がしやすいです。

なのでプログラミング初心者のうちから全ての手順をしっかりと把握しておく必要は全くありません。

むしろ、最初のうちから学ぼうとして理解出来ずに、プログラミングを学ぶことを断念してしまう方が勿体ないです。

まずはDockerを使うことでプログラミングをする楽しさを体感しましょう

現場ではどの様に使われているのか

pc

昔はVMやVagrantを使う企業が多かったですが、最近ではDockerを使っていない企業は時代遅れと言われるまでになりました。

それだけDockerは現場にも大きな影響をもたらしています。

Dockerは大きく分けて2つの用途で使われています。

チームメンバーの個人環境の差異の撲滅とデプロイするまでの管理コスト削減です。

個人環境の差異撲滅

一昔前は環境構築手順がGithubのwikiやリポジトリのREAD MEなどに書かれていましたが、殆どのケースでその手順は古くなり腐っていました。

昔は必要なかったけど今は必要な手順

逆に昔は必要だったけど今は不要になった手順

のオンパレードという状態。

これだとドキュメントの意味が全く成していないどころか混乱を招くだけでした。

 

しかし、Dockerを導入することで環境の構築に必要なものはDockerfileに記載して

GithubのwikiやREAD MEにはDockerの起動方法だけを書いておけるようになりました。

仮に必要なライブラリが変わったとしてもDockerfileを変更すればよく、Dockerの起動方法も早々変わるものではありません。

何においてもドキュメントを残すことはとても大事ですが、それを腐らせないようにメンテナンスをするのはとてもコストがかかります。

Dockerを導入した事で環境構築の手順というドキュメントを管理するコストを一気に削減でき、チームメンバーで一貫した環境の構築が出来るようになりました。

デプロイの簡略化

Dockerが流行る前は、各環境にデプロイを実行する時は

各サーバーにSSHで接続を行い、gitコマンドでcloneを実行して落としてくるかjenkinsなどを使ってsyncするのが主流でした。

 

しかし、Dockerが主流となった今ではイメージをAWSのECSにアップロードし、それをEC2に落としてきて起動という簡単な手順で本番環境のデプロイが可能になりました。

具体的な例としては下記の様な流れになります。

  • クライアントとサーバー用のDockerfileとdocker-compose.ymlを定義
  • イメージをAWSのECSにアップロード
  • ECSからEC2にイメージを落としてきて起動

おすすめの勉強法

study

Dockerに慣れるためにはDockerを実際に使ってなにかの環境を構築してみるのが一番おすすめです。

が、やはりネットに散乱している情報の中から必要なものだけをピックアップして実際にやってみるというのは中々ハードルが高いですよね。

そんなあなたにおすすめなのがドットインストールやUdemyでの動画学習です。

ドットインストール

ドットインストールでは無料でDockerの基本的な事を学べる動画が視聴出来ます。

4年以上前に投稿された動画なので情報が古いですが、基本的な概要や使い方、流れは一通り把握出来るようになっています。

まずはこの動画を見てDockerを実際に使ってみると良いでしょう。

Udemy


UdemyではDockerに関する動画が30本以上投稿されています。

その中でもおすすめしたいのが下記の動画です。

ゼロからはじめる Dockerによるアプリケーション実行環境構築

 

こちらの動画は5時間以上、60以上のレクチャーというボリュームで初心者から中級者までの方向けの内容が詰め込まれています。

ドットインストールとは違い有料ではありますがその価値は十分にある内容です。

また、本来であれば10,800円と高額ですがセール中は1,900円とお求めやすい価格になっているのも嬉しいですね。

そして更に、30日間返金保証対象なので万が一、動画を購入したけど求めているものではなかったという場合は動画の購入をキャンセルすることも可能となっています。

最初の数本の動画は無料で視聴可能になっているので、まずは実際にどんなものか視聴してからその先に進むかを判断すると良いですが

Dockerを本気で学びたいと考えている方にはイチオシの動画です。

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です