【効果的学習法】Dockerをこれから学びたい人のためのオススメ書籍&教材特集


※ 当ページには【広告/PR】を含む場合があります。
2023/05/28

Dockerの安定版がリリースされてちょうど今年で10年の節目を迎えます。

今やDockerのある開発環境というのが当たり前となっているため、IT技術を支える重要なインフラの一つとして定着したことをしみじみと実感します。

Docker登場以前の開発環境のカオス的な状況を痛いほど経験してきたエンジニアの身としては、当時の
「ハードウェア単位で開発環境を整える」ことに非常に時間とコストを費やした時代が今や懐かしさすら感じます。

ちなみに著者もガッツリとコンテナ関連の技術を業務でつかうので、大体のスペックを当てはめて年収見積もりがどれくらいか見てみると...

合同会社タコスキングダム|蛸壺の技術ブログ

エンジニア年収推定ツール(β)|Techfeed

まぁ、800万には届かないものの、他の関連技術よりは少し高めの値段設定になっています。

余興はさておき、ここでは社内教育目的もかねて、Docker(コンテナ技術関連)を学び始める方に有用な学習リソースを定期的にアップデートしながらまとめて紹介していくコーナーです。


Docker(コンテナ技術関連)を学べる書籍を探す

Dockerは他の技術を支える「インフラ」技術の特性があるため、新機能などの追加や他のコンテナ技術の台頭はあるもの、使い方や勉強法などリリースからほとんどの変わらない点に追いては、一度その基礎を身につけると最新バージョンをキャッチアップしなくても良い部類の知識です。

逆に言うと、
Dockerの基礎づくりがもっとも重要かつハードルが高いと言えます。

初学者が独学する場合、英語に堪能であれば、docker公式のドキュメンテーションページがもっとも充実しているといえます。

Docker Docs|公式サイト

このサイトで全て事足りるなら皆さん困らないのですが、説明を含めシンプルに出来すぎているので、読み進んでいくと必ず眠くなってくるはずです。

書籍を読みながらステップアップしたいという場合には、Docker関連の専門書は一つの選択肢です。

Dockerの専門書となると、かなりテンプレの内容の書籍も多くあり、結局公式のDocker Docsの日本語訳に行き着くパターンになるので、入門書であればどれを手に取られても良い気がします。

簡潔なビジュアル多めで飽きさせない作りになっている『
図解即戦力 仮想化&コンテナがこれ1冊でしっかりわかる教科書
』が、Dockerを習得した人間からしても眺めているだけで新しい気付きがあって楽しいです。

他には、比較的最近に出版されたもので、『
Docker&仮想サーバー完全入門
』はシンプルにDockerの話がまとめられていて入門書には良いでしょう。

著者は普段からLinux&Mac OSXの二つ持ちですのであまり意識はしませんが、メインでWindowsで開発する場合に、WSL2のセットアップに触れてあるので現在の開発環境に合わせて、書籍を選ぶことも重要かもしれません。

Docker入門書としては売れ筋でもある『
仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん
』は割と初心者目線で書いてるのでWindowsユーザーには読みやすいでしょう。


Docker(コンテナ技術関連)を学べる学習サービスを探す

やっぱり本でも眠くなるときは眠くなります。

特にDockerは縁の下を支えるインフラ技術の一つですし、地味にLinuxの知識とネットワークの知識を必要に応じて覚えないといけません。

まさに初学者にとってDockerへの興味やモチベーションを維持するには非常に手強いのは、
「やっていることが地味すぎる」という、技術的な難しさとは別方向の話があります。

この辺がDockerを教える側が、新人のエンジニアが中々覚えてくれない、と割と悩んでしまうハードルにもなっています。

もう少し楽しくDockerを学習させたい、何度も何度も同じことを繰り返し教えたくない、と思う場合、
『Udemyの動画講座』が便利です。

UdemyにはDockerおよび仮想コンテナ化関連の技術講座が充実しています。

例えば、Dockerに触れる前の駆け出しエンジニア相当にマッチしている入門レベル講座として、『
Linux とネットワークの基礎から学ぶ Docker 入門
』がオススメです。

最低限のLinuxコマンドの使い方と、コンテナ間のネットワーク技術の基本を動画を通じて効率よく学ぶことが出来るでしょう。

次にDocker入門レベルを終えて、なにか実践的なテーマを一度やってみたいとしたら、『
ゼロからはじめる Dockerによるアプリケーション実行環境構築
』で、DjangoやRuby on Railsの開発環境の構築方法を例として、具体的なDockerの利用法を理解できるようになるでしょう。

少しむずかしめですが、基礎から応用まで一気にレベルを引き上げてくれる講座に、『
米シリコンバレーDevOps監修!超Docker完全入門(2022)【優しい図解説とハンズオンLab付き】
』などもオススメです。

最終的に、Docker、Dockerfile、Docker Composeとステップアップさせていき、実践的なWebアプリ構築までのチャレンジまで解説してくれているので、ここまでちゃんと理解できたら、他に書籍などでサプリメンタルな勉強は不要になるでしょう。

オプションにはなりますが、例えばDockerを応用した講座の一例として、『
米国AI開発者がゼロから教えるDocker講座
』のようなクラウド型のAIサービスを構築するハウツーの解説を行っている講座もあります。

Udemyには探せばかなりマニアックなものまで対応していることがありますので、一度興味があるタイトルで検索してみたら掘り出し案件が見つかるかもしれません。


転職でアピールポイントして輝くDockerの魅力

だいぶ世間の企業様でも、社内でDockerを重視して取り組もうという感触のようなものが感じられるようになりつつあります。

著者の経験でいうと、機械メーカーの開発勤務時代には、Dockerを利用して組込み用のミドルウェア開発の環境構築に大いに利用しておりました。

Dockerが登場する以前は、「ソフトウェアプログラミング専用パソコン」、「組込みファーム書き込み専用パソコン」、「デバイスエミュレータを入れたデバッグ専用パソコン」などなど、ハードウェアも違えば、OSも異なるというカオスな状況を開発シーンによって使わけるということをやっていました。

それが今では、Docker一つでクロスプラットホームな開発環境が、Dockerfileでいつでもどこにでもすぐさま構築できるわけです。

特にアメリカのシリコンバレーで働いていた当時からしても、Dockerの存在がエンジニア界隈に大きなインパクトのある「イノベーション」として迎え入れられました。

著者が前の会社で働いていたときに、顧客の企業で同じようにDockerを駆使してハードウェアの制御ソフトを書いていたフィールドエンジニアのインド人の方は、時価でいうと1500万円相当の年収を得ていたようで...。

そのときに著者も30代前半だったわけですが、同じような内容で日本企業の現地駐在エンジニアとして働いてたときの手取りが600万円いくかいかないかだった状況でした。

もう5年以上も前の状況にはなりますが、同じような職種で、同じような業務をしていても、日本と海外では企業が評価するエンジニアへの評価には大きな溝が存在してました。

現状の日本においても、インフラエンジニアへの評価は全体的にみてもそう変わっていません。

日本に帰り独立して、地方の中小企業様との交渉などでお話を聞かせていただくことも多い中、むしろ、付加価値として世間から評価を受けにくいインフラエンジニアの評価はかなり低いと言わざるを得ないのが正直なところです。

Dockerに限らず、インフラ系に高度な知識を有するエンジニアの方で、600万ないし700万に届かないような中小企業にお勤めの方は、一度、ご自身の現在の正当な年収査定額をチェックされても良いかもしれません。

日本でもようやくジョブ型・タスク型業務へのシフトへの動きが経済界の後押しを受けて加速しており、エンジニア転職も話題になることもしばしばです。

エンジニア転職を最終目的とした場合に、専用のコンサルタントに無料相談できる『
TechClipsエージェント
』なら年収査定だけでなく、現在保有しているスキルを細かく聞き取りして、能力に応じた報酬を出せる企業とのマッチングを行ってもらえます。

海外ではDockerのみならずネットワークやサーバーの知識を生業にしているインフラ系エンジニアは、高度な専門職として社内でもエリートの位置づけであり、評価も年収も高いのが一般的です。

他方、日本はというと、慣例的に「インフラエンジニア=SE(システムエンジニア)」を暗に思い浮かべることのほうが多く、実は言語のミスマッチが存在しているようです。

日本における「システムエンジニア」は、実のところ"情報システム関連の業務に従事する人"を指す和製英語になっています。

話は逸れますが、英語で「Systems Engineering」は「システム工学」と訳されるため、「Systems Engineer」というと、「システム工学を専門的に従事する技術者」となります。

システム工学の着目するシステムの対象は様々で、例えば「海洋システム」「機械システム」「交通システム」...などなど、日本のような
システム=情報技術という見方にはならないのです。

そんな日本独自のビジネス文化から生まれたSEの平均年収はおおよそ450~550万円だそうです。

本来であれば海外では重要視されるはずのインフラエンジニアにあたるポジションのSEがここまで評価が低いことはとても嘆かわしいことだと思います。

さらに悪いことには、
「客先常駐SE」という海外でもあまり聞かない、"現代版の出先奉公人制度"がまだまだ存在しているようです。

参考|客先常駐とは?ネットワークエンジニアが常駐して働くメリット・デメリット

実際、古く伝統のある大企業ほど、社内システムを自社開発するより、他の会社に委託開発する傾向が強い日本の文化もあり、そのシステムで障害が起こったときにすぐさま対処できるように顧客のオフィスに自社のSEを常駐させられるという...。

よく考えなくても、海外のインフラエンジニアが聞いたら「そんな仕事ありなの?」と即日拒否られるような、日本独自の"理不尽なシステム"です。

とにかく、客先常駐SEになってしまうと、最大のデメリットとして、
本当に必要なインフラ技術の知識が身に付かないので、エンジニアとしてステップアップ出来ずに、将来の年収アップも程遠くなってしまいます。

かつての独自性の高い設計で納入し、気づけばかなり古い技術となったネットワークも場合によっては根気強くサポートさせられることも多いので、「骨董品を磨く」ような作業を延々とやらせられるという顛末です。

そんな顧客常駐SEのお悩みを親身になって聞いてくれるのが、
です。

関東圏(東京・神奈川・千葉・埼玉)および関西圏(大阪・京都)勤務で、現在顧客常駐されることにお悩みであれば、一度ご相談されてはどうかと思います。

SE職も大都市圏にベンダーが集中しているため、特に東京を中心に求人が固まってしまうのは仕方ないことです。

しかしニーズとしても各地方都市のほうがSE転職先として都合のよろしい方もおられるかと思います。

そういった方の場合には、全国に幅広く展開して実績豊富な「
Winスクール
」ならば、地方のSE転職に強く、その地域に応じたローカルSE求人情報なども提供してもらえるので、検討されると良いでしょう。

いずれにせよ、Dockerの学習にとどまらず、インフラ系エンジニアのポテンシャルを十分に引き出すことのでご自身のキャリアアップを図り、より正当な報酬と評価を与えてくれる職場環境を掴み取られることを祈るばかりです。


Docker関連記事ダイジェスト

なお、現在のこのサイトでたまに執筆中のDocker関連記事ラインナップです。

フロントエンド・サーバーサイドでお役立ちできそうなDockerの技術記事を発信しています。

なにかDocker関連で気になるテーマがあれば、お問い合わせフォームよりご意見・リクエストもお待ちしております。

関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

Alpineコンテナでpip経由でxlsx2csvをインストールしたら「error: externally-managed-environment」出たときの対処法

2024/08/24
ID#:252
Alpine xlsx2csv Docker

Alpineコンテナでpip経由でxlsx2csvをインストールしたら「error: externally-managed-environment」出たときの対処法

Alpine系のDockerコンテナでxlsx2csvコマンドをpip経由でインストールする際に気をつけておくべきポイントを解説します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

Dockerコンテナ内で独自にDevContainersっぽく使えるAngularプロジェクト環境を構築してみる

2023/09/25
ID#:226
docker DevContainers

Dockerコンテナ内で独自にDevContainersっぽく使えるAngularプロジェクト環境を構築してみる

Dockerボリュームを使って複数のAngular(Nodejs)プロジェクトを統合開発できるDevContainersライクなワークスペースを一から構築してみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

docker-composeでvolumeマウントするフォルダ・ファイルを選択的にinclude/exclueする方法

2023/09/23
ID#:223
docker

docker-composeでvolumeマウントするフォルダ・ファイルを選択的にinclude/exclueする方法

docker-composeを使ってホスト側のファイル・フォルダをDockerコンテナへ選択的にコピーする際の基本的なテクニックを理解しましょう。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【効果的学習法】Dockerをこれから学びたい人のためのオススメ書籍&教材特集

2023/05/28
ID#:192
docker

【効果的学習法】Dockerをこれから学びたい人のためのオススメ書籍&教材特集

日常の開発業務や社内教育にも役立つDockerを中心としたコンテナ関連の技術を学ぶ上で有用な学習用の教材を定期的にまとめていきます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

docker-composeのprofilesタグを設定して特定のサービスだけを選択的に実行する

2023/02/19
ID#:191
docker docker-compose

docker-composeのprofilesタグを設定して特定のサービスだけを選択的に実行する

docker-composeのrunサブコマンドからプロファイル(profiles)機能を使ったサービスの切り替えを自由に行う方法をまとめてみました。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

DockerとSripe CLIを使ってダッシュボードなしでオンライン決済を操作・管理する

2022/06/25
ID#:167
Stripe docker

DockerとSripe CLIを使ってダッシュボードなしでオンライン決済を操作・管理する

自前のECウェブサイトを構築するときに必要となるオンライン決済機能をコンソールから効率よく作業することのできる・「Stripe CLI」をDockerコンテナ内から使ってみたときの話です。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

[ラズパイ x puppeteer] Alpine:edgeのdockerイメージをラズパイにプルしてpuppeteerが動くか試すまでのお話

2021/01/18
ID#:77
docker puppeteer ラズパイ

[ラズパイ x puppeteer] Alpine:edgeのdockerイメージをラズパイにプルしてpuppeteerが動くか試すまでのお話

常時稼働するpuppeteerを使ったWebスクレイピングサーバーをラズパキで立てて、Alpine:edgeのDockerコンテナ内部からで定期的に情報採集することを目的としてやってみた時のネタです。以前の内容をラズパイでも同じことを行えるのかを検証してみました。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

[DynamoDB Local] DynamoDB LocalをDockerコンテナサービスとして起動して別のDockerコンテナから呼び出す方法

2020/11/24
ID#:58
Serverless dynamodb docker

[DynamoDB Local] DynamoDB LocalをDockerコンテナサービスとして起動して別のDockerコンテナから呼び出す方法

ローカルの開発環境でDynamoDB Localとserverless-offlineの2つのDockerコンテナサービスを利用し、オフライン版AWS SAMモデルを試す手法を詳しく深堀します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【puppeteerでスクレイピング】Alpine Dockerコンテナからpuppeteerで動的サイトのスクレイピングを試してみる

2020/11/13
ID#:52
puppeteer docker alpine スクレイピング

【puppeteerでスクレイピング】Alpine Dockerコンテナからpuppeteerで動的サイトのスクレイピングを試してみる

ユーザーアカウントを取り扱うウェブサイトなどでは認証用jsスクリプトなどで前処理されてからログインするので、ブラウザなしの単純なAjax操作では動的ウェブサイトからのスクレイピングは難しいものでした。そこでpuppeteerを利用して複雑なユーザー認証のあるサイトでもスクレイピングを行うための開発環境を整える手順を紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

[nodejs] node-cronをDockerコンテナから使ってスケジュール実行をさせてみる

2020/09/06
ID#:37
cron docker alpine

[nodejs] node-cronをDockerコンテナから使ってスケジュール実行をさせてみる

nodejsからcronのように使えるライブラリ・node-cronを使って、常駐させたDockerコンテナから定期実行されるか実験してみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

[ラズパイ] cronをつかってDockerコンテナのシェルスクリプトを定期実行する

2021/02/17
ID#:34
cron docker alpine

[ラズパイ] cronをつかってDockerコンテナのシェルスクリプトを定期実行する

cronはLinux標準搭載のスケジューラーデーモンです。ラズパイ上でDockerコンテナのコマンドをcronで動かしたいと思い立ったが吉日ちょっとばかしの応用テクをご紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

[Parcel x Alpine] Parcelの導入方法 & Docker Alpineで開発環境の立ち上げる手順

2020/08/22
ID#:30
Parcel alpine docker

[Parcel x Alpine] Parcelの導入方法 & Docker Alpineで開発環境の立ち上げる手順

Alpine DockerからParcelを立ち上げて、簡単かつ少ない手順でシングルページアプリケーションをビルド・起動する方法を解説します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【Docker対応】scratch-guiとscratch-vmをインストールして独自の拡張機能を作成する開発環境を整える

2022/03/08
ID#:29
Scratch docker

【Docker対応】scratch-guiとscratch-vmをインストールして独自の拡張機能を作成する開発環境を整える

今回は弊社のプログラミング教育事業の一環として利用しているScratch3.0のエクステンションを自作するDockerでのアプリ開発環境づくりに関して解説します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【Dockerで開発環境構築】Verdaccio on DockerでコンテナのローカルIPを調べる方法

2021/05/10
ID#:14
verdaccio docker nodejs

【Dockerで開発環境構築】Verdaccio on DockerでコンテナのローカルIPを調べる方法

Verdaccioを使えばローカルで独自のnpmパッケージが管理運用できるので非常に重宝しております。今回はVerdaccioコンテナのIPの調べ方と併せて、古いVerdaccioからVerdaccio5へのマイグレーションするときの注意点を考えてみます。

クリックするとリンク先へ飛びます


まとめ

今回はDockerで効果的な学習方法をいくつか検討してみました。

Dockerは既に分野を問わずあらゆるエンジニアの開発環境になくてはならないインフラ技術として浸透しています。

Docker関連の技術を極めれば、幅広い仕事で必ず役に立つスキルになるので、ぜひとも社内の新人教育などで積極的に取り組まれてはいかがかと思います。

学習も一気に覚えこもうとはせずに、コツコツと勉強を進めて、Dockerを基本とした仮想コンテナ化の世界を楽しんみながら、自分の知識の一部にしてみてください。