【Docker】Dockerをはじめよう!(勉強法紹介)

はじめに

皆さんは”Docker“をどのくらい使いこなせていますか?

駆け出しエンジニアの初心者の方は

え、クジラのイラストのやつだっけ?
何がそんなに大事なのか知らないけど、まだ困ってないし今はいいかな。。

てな感じだと思います(笑) エンジニアの方でも

やらなきゃいけないのは分かってるんだけど、まだ手をつけてないなあ。。

って感じの人もいるんじゃないでしょうか?

僕自身も、最初は特に困ってなかったのでスルーしていたんですが、
UbuntuのPCで機械学習の環境構築の際や、Jetson(エッジPC)で画像認識させるのに、機械学習ライブラリ(tensorflow, OpenCV等)をインストールしていた時、事件は起きました。。

ライブラリ間の依存関係とCudaバージョンとの相性でエラーしか出てこねえええ!!!!!

1週間くらいひたすらJetsonとの格闘を繰り返していたのを今でも覚えています。。

これ、ラズパイとかJetsonとか新しい端末導入されるたびに環境構築するの、アホらしくね?
てかGPU付きの機械学習用PCとJetsonの環境違うって、動作確認毎回やらなきゃいけないのしんどくね?
チームメンバーとスクリプト共有するのに、わざわざ環境を合わせるとかやることださくね?

てなってもうやるしかない!と思い学習をスタートさせました。
このブログを見ている方のほとんどは僕と同じで機械学習で何かやりたい人、
他にもWeb開発エンジニア、モバイルアプリエンジニアが多いんじゃないでしょうか?
何らかのアプリをデプロイする時に、開発環境⇔テスト環境⇔本番環境の整合性が取れなくて、てこずった経験があるんじゃないでしょうか?

Dockerではこれらの課題を全て解決してくれます

あらゆるエンジニアに必須のスキルとなっている今、知らないと損しかありませんし、
IT企業に転職を考えている方ならGitと並び大事なスキルになってきています。
このブログを見てくれたのを機に、僕と一緒に”Docker“について学んでいきましょう!!!

でも、何をどうやって学習を始めたらいいのか分からない、どこまで深く学ぶ必要があるのか分からない、効率よく必要なところだけ学びたいという方が多いと思います。

そこで、私がやってきたおすすめの教材と進め方について紹介していきたいと思います。

おすすめの教材①

皆さんは”かめ れおん“さんをご存知でしょうか?世界中のハイテク産業が集中している米国シリコンバレーで、大手Tech企業で医療画像診断AIを開発している方です。
データサイエンティストとして活動をされていると同時にUdemyの講師もやられている、
僕が超超超リスペクトしている方です。

かめ れおんさんの”米国AI開発者がゼロから教えるDocker講座” が本当におすすめなんです!!!
(あ、企業案件じゃないですよ。僕が許可も取らずに勝手に宣伝しています(笑)

この講座の何がすごいって、これまでに筆者がUdemyの講座を数本、書籍を3冊ほど見てみて、比較して分かったので言いますが、

  • 圧倒的にわかりやすい(説明が上手すぎる)
  • 現役のシリコンバレーエンジニアなので、学習内容に過不足なく現場で使えるスキルのみ学ぶことが出来る

他にもありますが、この2点がずば抜けて優れています。やはり噛み砕いた言葉で説明してくれるので、頭に入ってきやすいんですよね、なので自分が実際に使うときに覚えててすぐに現場で使うことが出来るんです。
自分もこの講座で学んだ知識を使って環境構築をすることができました、今ではオリジナルのdocker imageを使い回して同じ環境で作業することができています。
内容も特に足りないといったことは今のところないです。不足分はググったり、次に紹介する本で補うことができました。

で、購入する方法なんですがUdemyの講座って1週間に一度くらいの頻度でセールやってて、普通のものなら1講座1500円前後で購入できるんですよね。
しかし、かめ れおんさんの講座はセールで安くなりません。けど1500円の講座を何本もやるなら、
この講座にお金払って受講することをおすすめします。そのくらい価値があるかなって感じるからです。

👇かめ れおんさんのブログに少し安くなるクーポンが配られているので、それを使えば多少は安く買えます、興味がある方は是非見てみて下さい。(ちなみにブログもかなり勉強になります)

おすすめの教材②

もう一つのおすすめは、大澤文孝さん、浅居さん著の”さわって学ぶクラウドインフラ docker基礎からのコンテナ構築” です!

これがおすすめのポイントは

  • 初心者でも理解しやすいように、図解を多めに使って説明してくれている
  • ハンズオン形式なので、自分で手を動かしながら学べる

細かい操作まで詳しく解説してくれているので、初めて触る方でも理解できるように工夫されているのがすごくいいなと思いました、そして大事なこと言いますが、手を動かして納得しながら進めないと身に付きません。これはそこをしっかりカバーしてくれているので、現場で周布に使えるスキルを学ぶことができます。
是非一度手にとってみてはいかがでしょうか?

はい、今回はDockerを習得するのにおすすめの教材を2つ紹介しました。
このブログでもDockerについてたくさん触れているのですが、ほとんどのことはこの二つの教材に載っていますし、値段以上の価値があるのは僕が保証します。

このブログでは、特にJetsonやGPU付きPC、UbuntuでのDockerでの環境構築について深く触れようと思っています。他にもDjangoフレームワークを用いたWebアプリへの機械学習の組み込み、それをDockerで環境構築するなど実践的な情報も発信していこうと思っていますので楽しみにしていてください。

今回はこの辺で、ばいばい👋