
今話題のDockerがなぜ必要となるかについての説明です。現在の複雑な開発体制にはDockerが欠かせません。
前回の内容を踏まえ、Dockerとはそもそも何であり、どいういうことが出来るツールであるかを説明します。
Dockerの機能の概要について説明します。
Dockerにはどのような機能がありどのような場面で利用するかについて理解します。
※4枚目の資料の「Automated Build」の図に誤りがあります。PDFの資料が正しい図になります。
実際にDockerを利用するために環境の構築を行います。
学習用にVirutualBoxにインストールしたLinux(CentOS)の環境を利用してDockerを使える環境を構築する準備をします。
VirtualBoxにCentOSをインストールし、Dockerを学習するための環境を構築します。
Dockerの学習を始めるにあたりまずはLinuxの基礎をしっかり学習します。
カーネルなどLinuxの基本的な概念について説明します。
Linuxとはそもそも何かということについて学習します。
Linuxの歴史および構造について学習します。
Linuxの主要なコマンドを紹介し、実際に使ってみます。
紹介したLinuxのコマンドについて補足とより深い説明をします。
Linux環境で利用可能なテキストエディタであるviの使い方の基本を紹介します。
viの起動から簡単な文章の入力・保存の方法を学びます。
Linuxを理解する上で必要となるプロセスとシグナルの考え方について説明します。
Linuxを理解する上で必要となるプロセスとシグナルの考え方について説明します。
Linuxのストリームの概念について学習します。標準入出力の概念を理解します。
ユーザーの管理などの管理系のコマンドについて学習します。
仮想環境のCentOS上にDockerをインストールし設定をする方法について紹介します。
インストールしたDockerで実際にWebサーバーのコンテナを起動してみます。
DockerでWebサーバーを起動売する方法の後半です。実際の入力をより詳しく説明します。
Docker上でLinux(Ubuntu)を起動してみます。
コンテナを操作する方法についても同時に学習します。
作成したコンテナやイメージの削除方法について説明します。
基本操作のまとめです。Dockerの基本コマンドについて復習します。
Docker Hubにアカウントを作る方法を説明します。
Docker Hubにプライベートレジストリを作ることが可能です。
Dockerfileを使ってDockerイメージを作る方法について説明します。
作成したイメージをDockerfileにアップロードする方法について説明します。
コンテナからイメージを作成する方法について説明します。
実際にLinux上でコンテナからDockerイメージを作ってみます。
Docker Hubにアップロードしたイメージファイルをダウンロードしてみます。
コンテナ・イメージをローカルファイルに保存する方法と、ローカルファイルのイメージをロードする方法について説明します。
Dockerの新旧コマンドの紹介とその比較をします。
作業環境としてDocker Toolboxをインストールします。
Dockerfileを編集する環境としてVisualStudioCodeをインストールします。
Dockermachineの概念と簡単な操作方法について説明します。
Dockermachieの説明の後半です。
Dockerfileの構造の説明の前編です。
Dockerfileの構造の説明の後半です。
Dockerfileでイメージビルド後実行されるコマンドについて説明します。
ビルド後実行されるコマンドの後半です。
紹介しきれなかったその他のDockerfileについて説明します。
複数コンテナを運用する前に必要な準備について説明します。
説明に先立ち、便利なツールBush Boxについて説明します。
ボリューム関連のコマンドを紹介します。
ボリュームを実際に操作してみます。
Dockerfileからボリュームを作ってみます。
Dockerネットワークに仕組みについて説明します。
Dockerネットワークの種類について説明します。
Dockerネットワークのコマンドについて説明します。
① コースの概要
DevOpsの重要な開発・運用ツールとして現在注目されているDockerですが、学習は決して容易ではありません。
なぜならDockerを使いこなすためにはLinuxの操作などの知識が必要とされる上に利用できるプラットフォームも限られているからです。
そのため書籍などでDockerを学ぶためには膨大な知識を必要とされると感じ挫折してしまう人も少なくありません。
そこで、この講座ではDockerについて学習する前にLinuxの基本操作についてしっかり学ぶところからスタートします。
その内容もDockerを学ぶ上で最低限必要なものに絞り学習の効率化を図っています。
Linux環境の学習についてもDocker同様開発現場で多用されている仮想環境のVirutual Boxを用いることにより
間違ったり失敗したりすることを恐れずに気軽に学習することが出来ます。
しかもVirtualBoxのインストールから、そこへのCentOSのインストール、更にはDockerのインストール方法まで丁寧に説明してあります。
また、多くのDockerの専門書では対象となるプラットフォームとしてLinuxやWindows 10 Professionalや最新版のMacOSXなど
家庭や個人で所有している人が少ない環境に依存しているためおり、ハードルの高いものが少なくありません。
そこで本講座はWindows10 Homeや少し前のMacOSでも利用可能なDocker Toolboxを使っています。
更には練習問題を用意し講義の内容をより深く身に着けることが出来るようになっています。
そのため個人的にDockerに興味を持っていたり、仕事で必要に迫られていて勤務時間外に自宅で勉強したいと思っている新人エンジニア
にぴったりの内容になっています。
文字通りLinuxを象徴とするペンギン(Penguin)から始まり、Dockerを象徴するクジラ(Whale)を目指す講座です!
② 目標
本コースの受講生は具体的には以下のような方が対象です。
Dockerに何となく興味がある人
すでに何等かの開発の経験がありDockerの必要性を感じている人
一度Dockerを学んだがLinuxの知識が乏しく挫折した人
入社2~3年以内の若手プログラマー・開発者
Dockerについて学びたいテスター
Dockerの概要について知りたいと考えているインフラエンジニア
Webアプリ・クラウドサービスの関係者でDockerを学びたいと思っている人
AI等の研究開発の環境にDockerを導入しようと考えている研究者
ビッグデータ分析のインフラ構築のためにDockerを導入したいと考えてるデータサイエンティスト
社員教育に備えるためDockerについて学ぶ必要があるIT企業の管理職・マネージャー
③ 内容
コンテンツは、以下の内容で構成されています。
講義映像
サンプル
課題の問題と回答
環境としてVirtualBox上で操作するCentOS7もしくはWindowsやMac OS上で動作するDocker Toolboxを利用します。
冒頭のLinux入門部分及びDockerの初歩の部分に関してはCentOS7を用います。
また、Docker Toolboxと併せてDockerfile等の編集には入力支援機能があるVisual Studio Codeを用います。
VisalStudioCodeはインターネットで無料で入手できます。(Windows/Mac OS/Linux上で利用可能です。)
本書の説明は主にWindows上で行います。
ただし、このコースで紹介されている内容はMac OS、Linuxでも利用できます。
他の環境で勉強している人は、各自自分の環境に対応させて学習を進めてください。
④ 前提知識
講座を始めるにあたり、以下の前提知識は必要です
①PCの基本的操作能力
②システム開発の基礎知識
③簡単なLAMPに関する知識
• Webの仕組みが分かること
• HTMLがかけること
④ネットワークの基礎知識
• IPアドレス
• ポート
• OSI参照モデル
⑤ 今後のリリース予定
こうざはこれで終わりではありません。
今後、以下の内容を順次追加していく予定です!
・Docker-Compose
・様々な開発状況を想定したサンプル
・Docker HubとAutomated Build
・クラウド環境との連携
・Kubernetes
こうご期待!