Dockerを勉強してみた。インフラ系の知識を身に付けたい初心者におすすめ!

docker バックエンド おすすめ

《すぐわかるプログラミングスクールおすすめランキング》

当サイトから登録の多いプログラミングスクール

【1位】Skill Hacks(解説を見る) 格安・質問し放題

【2位】侍エンジニア塾(解説を見る) 《時給3000円のエンジニアを目指す》

【3位】TECH::CAMP(解説を見る) 《長期間教室に通える》

学生エンジニアのしば(@akahire2014)です。

僕は大学3年生からプログラミングを始めてRailsを勉強しました。

Railsの勉強から入ったのでパソコンの基礎的な知識とかネット通信の仕組みとかの基本的なことがわかっていませんでした。
Dockerを勉強してから、ある程度基礎的なことがわかったので、僕みたいに大学や専門学校で情報系の勉強してないけどプログラミング始めたって人におすすめです!

この記事では

  • Dockerの何がいいのか?
  • おすすめの勉強法は?

について解説します。

スポンサーリンク

Dockerとは?

Docker_-_Build__Ship__and_Run_Any_App__Anywhere

Docker(ドッカー)」とは、非常に軽量なコンテナ型のアプリケーション実行環境である。dotCloud社(現Docker社)が開発し、2013年にオープンソースのプロジェクトとして公開された。ソフトウェアの高速な配布・実行や容易なイメージのカスタマイズ、導入運用の手軽さ、豊富なプレビルドイメージの提供などの理由により、当初はソフトウェアの開発やテスト段階における利用が多かったが、現在ではパブリッククラウドからオンプレミスシステムまで、さまざまなシーンで急速に普及しつつある。

引用:http://www.atmarkit.co.jp/ait/articles/1701/30/news037.html

要するに

  • パソコンの上にもう一個パソコンを作る
  • その中でプログラミングの実行環境を作る
  • いろんなプログラミング言語の実行環境が「イメージ」という単位でまとめられていて、それをダウンロードできる

というものです。

細かいことはググるとたくさん出てくるのでそっちの方を読んだ方がわかるかと思います。

Dockerの何がいいの?

初心者
なんでわざわざDockerを使うの?

Dockerを使うとこんないいことがあります

  • 環境の設定ファイルである「イメージ」をダウンロードするだけで環境が作れる
  • 環境をコードで管理するので失敗がない
  • 環境構築を自動化できる
  • チームのエンジニア同士で完璧に同じ開発環境を構築できる

などといった特徴があります。
実際にエンジニアとしてインターンやバイトをするとわかるんですが、環境の微妙な違いのせいでエラーが出ることってたくさんあるんですよね。
(例えば言語のバージョンの違いとか)
Dockerを使うとそういったことがなくなります。

Dockerを勉強するとどんなことがわかる?

初心者
なんでDocker勉強しようと思ったの?
しば
フロントエンドとサーバーサイドの知識に比べてバックエンドが弱すぎる!!

僕はプログラミングスクールと独学でしかプログラミンングを勉強していないので、パソコン自体の仕組みとかネット通信の知識がすごく足りていなかったんですね。

とはいっても、「パソコンの仕組み!」みたいな本を読む気にもなれず。。。

  • 自分が作ったアプリをDockerと一緒に管理して他の人のパソコンでも動かせるようにしたい!
  • Dockerを学ぶついでにバックエンドの基礎的な知識も身につくのでは?

というモチベーションでDockerの勉強を始めました。

しば
実際Dockerを勉強したことで、バックエンドの基礎的な知識はまあまあ身についたと思います。

実際に使われているの?

初心者
いろんな会社で使われているの?
しば
最近就活しているけど、どの会社も使っているみたい

いまの時代AWSなどのクラウドサービスの登場によって、自社でサーバーを持たない企業が増えてきています。

Dockerで環境を管理していると、もしクラウドサービスを乗り換えたくなってもすぐに乗り換えることができたりするので、Dockerを採用する企業増えてきているそうです。

おすすめの勉強法は?

僕はDockerを勉強して制作物を作り勉強会も開催しました。
Docker下の上レベルには達していると思います。
そんな僕のおすすめの勉強法を紹介します。

本とUdemyを買う

udemy docker 本
しば
Udemyの講座を見ながら、本で勉強しましょう!

手を動かしながらやるのが僕は好きなので、Udemyのこの講座がおすすめです。
日本語でDockerの基礎知識について説明しながらコマンドを打つことができます。

しかし、説明がバックエンド完全初心者にはちょっと難しいので、こちらの本で基礎知識を補完するのがいいと思います

スポンサーリンク

Dockerは楽しくバックエンド系の技術を身につける最良の手段

サーバーサイドやフロントエンドに比べて成果がすぐに見えづらいので、バックエンド系の技術ってなかなか勉強するのが楽しくないと思ってます。

でもDockerなら簡単に自分にとって便利な開発環境を作れたり、遊んで見たりできるのでバックエンド系の技術を楽しみながら身につけるのにはかなりおすすめです!

ぜひあなたも今日からDockerに入門してバックエンド系の知識を身に付けたり、自分の成果物を他人のパソコンで動かせるようにして見てはいかがでしょうか?

スポンサーリンク