【Udemy講座紹介】Dockerによる環境構築 by かめれおん

【Udemy講座紹介】Dockerによる環境構築 by かめれおん氏 Udemy講座紹介

データサイエンスやプログラミングを実務で使い始めると同僚と開発環境が一致しないことによる問題に遭遇することと思います!そんなときのためにDockerを使いましょう!

Dockerは仮想環境の設計図である『イメージ』から仮想環境『コンテナ』を建てます。コンテナ内はローカル環境とは完全に独立した仮想環境なので、特にGPU関連の環境やウェブ開発環境ではDockerは必修科目になっています。

以下のケースに該当する初学者の方でDockerを学びたい方には今回紹介するUdemy講座が本当におススメです!

  • Dockerで職場の同僚と仮想環境を共有したい人、将来的にチーム開発を考えている人
  • データサイエンスだけでなくアプリ開発に興味がある人
  • ChatGPTにDocker関連の質問してもでたらめばっかりで疲れた人

米国AI開発者がゼロから教えるDocker講座

データサイエンスの情報発信でお馴染みのかめれおん氏のDocker講座を紹介します。他のDocker講座に比べると価格は高めですが、Dockerの基礎から応用までを大変までの充実内容をわかりやすく学べます。実際、Udemyにある日本語のDocker講座の中では最多受講生数でありながら★4.8の最高評価です!割引クーポンがTwitterで配布されているので、購入の際は必ずチェックしてください。

講座前半ではDockerの基礎からAWS上でのGPU環境構築、講座後半ではDockerを使ったウェブアプリ開発の流れもという本格コース。いずれも即実践可能なレベルであり、私にとっては前半だけで十分価格に見合う内容でした。

以下の項目で本講座で学習できる内容をまとめます。

本講座で学習する内容

Dockerの基礎

Dockerを理解する上で必要なLinuxの基礎や、”シェル”といったわかったようでわかっていないワードの解説から始ります。そのうえでDockerのイメージやコンテナの意味、関連する各種ワードを順序だてて学びます。

コンテナを扱う各種コマンド

まずはDocker Hubからプルしたイメージを扱って、コンテナに使用する各種コマンド(run, psなど)を学びます。コンテナの状態を正確に把握しながらDocker作業を進められるようになります。またrunに関する各種オプションも一通り学び、-itの意味や-v, -pの使用方法を学べます。

Dockerfileからデータサイエンス用imageを作成する

Dockerイメージを作成するDockerfileの文法を学びます。その後、ubuntuイメージをベースにAnacondaインストール手順をDockerfileに記載していきます。さらにローカルフォルダのバインドやポート設定を駆使してデータサイエンスの勉強の即使用可能なJupyter環境を構築します。

AWSでGPU開発環境を構築

ディープラーニングに必須なGPU環境をAWSの有料サーバー上に構築する流れを学習できます。AWS素人でもGPU素人でも問題なく丁寧に解説してもらえるので安心してください。ただし500円程度ですが有料サーバー利用料金が発生します。

Docker composeを使ったウェブアプリの開発からデプロイまでの流れ

Docker composeのyamlファイルを作成して複数コンテナ起動方法を学べます。さらに超シンプルなRailsウェブアプリをデプロイするまでの一連の流れをGitHub、Travis CI、Herokuの各種外部サービスを利用しながら実践します。Herokuの利用が現在有料である点は注意。

講座を学び終えて

感想

Dockerについてcomposeも含めて体系的に学べる点は大変よかったです。講師が即実践レベルと謳っている通りの内容です。

個人でGPUを所有している方はほぼいないと思いますし、ローカルのGPU環境を整えるのは本当に苦労するので、AWSでの環境構築方法を学べる点も高評価です。有料といっても数百円で済みます。

また冒頭でもふれましたが、ChatGPTさんもDocker関連は割と嘘を教えてくれることがありました。しっかりDockerの基礎を学んでネット検索したほうが早くエラー解決できることが多いです。(私の質問の仕方が悪かっただけでしたらすみません)

学習前に注意してほしい点

まず本講座はMacユーザーを向けである点に注意してください。かくいう私はWindowsのWSL2環境、エディタはvimで挑戦しましたが、ところ自分で調べて特別に対応する点はあったものの最後まで完走することはできました!

また本講座は2019年に公開された講座なので、数年の経過により講座内容通りにはいかないところがあります。自分のケースでは以下。

  • AWSのポリシーが変わったのか、有料サーバーの利用申請が一度却下された。(AWSをしばらく使ってから理由を詳細に記載して再申請したら通りました)
  • 学習環境の問題かもしれませんが、Rails 2.5には対応してない箇所があり、Rails 2.7までバージョンを上げたらうまく進みました。
  • 最後に使うHerokuは有料。

まとめ

データサイエンスやプログラミングを学び始めた人なら環境構築の大変さを理解されていると思いますが、その分Dockerを知ることでその有益性が理解できると思います。そして一度使い方がわかってしまえば実務でも本当に便利なツールです。

一方でDockerの使い方をネット検索しても、初学者に優しい内容で体系的に纏まっている記事は多くありません。ぜひこちらの講座で実践レベルのDockerを基礎から学んで皆さんの業務が効率化されることを願います!

コメント