たった1日で基本が身に付く! Docker/Kubernetes超入門

目次

CHAPTER1 Dockerを使ってみよう

SECTION01 Dockerとコンテナ技術について学ぼう

コンテナって何?

Dockerのエディションについて知ろう

SECTION02 Dockerをインストールしよう

CentOS7(Linux)へのインストール

Docker DesktopをWindowsとMacに導入する

仮想マシンを作ってみよう

SSHでDockerに接続する

SECTION03 Dockerを体験してみよう

Hello Worldイメージの展開

nginx(Webサーバー)の展開

dockerコマンドの体系

レジストリの基本

公式リポジトリと非公式リポジトリ(一般ユーザー)

DockerHubへのログイン/ログアウト

SECTION04 コンテナの利用法を学ぼう

コンテナのライフサイクル

コンテナの作成

稼働済みのコンテナでコマンドを発行

helpkコマンドの使い方

コンテナ情報の確認

コンテナの停止と起動

コンテナの破棄

SECTION05 Dockerの使いどころを知ろう

Dockerイメージはどこでも動かせる

インフラをコード化できる

アプリを小分けで開発できる

Dockerでやるべきではないこと

 

CHAPTER2 イメージの利用と開発を体験しよう

SECTION01 Dockerイメージを使いこなそう

イメージの使い方の全体像

イメージを検索する

同一名のイメージを区別するタグ

イメージをPullして確認する

イメージを削除してみる

どのDockerイメージレジストリを使うべきか

SECTION02 イメージを作成してレジストリに登録してみよう

イメージ作成から登録までの流れ

コンテナを起動してパッケージをインストール

ホスト(Windowsなど)からコンテナにファイルを送る

コンテナを停止してイメージ化する

イメージの階層構造について

イメージのにタグ付けする

レジストリ(DockerHub)へのPush

DockerHub上のイメージを削除するには

SECTION03 どこでも使えるイメージを作ろう

構築するWebアプリの構成

環境変数を使ったイメージのパラメーター

アプリで環境変数を利用する

環境変数を使って設定ファイルを作成する

環境変数ファイルを利用する

SECTION04 Ansibleを使てDockerホストを構築しよう

リモートのDockerホストを使う

AnsibleでDockerホストを作成しよう

 

CHAPTER3 Dockerネットワークとストレージを理解しよう

SECTION01 Dockerネットワークを使いこなそう

Dockerネットワークの基礎を知ろう

ポートフォワーディングでコンテナを外に公開しよう

ネットワークを作成/削除し、使ってみよう

コンテナ間の名前解決

SECTION02 データ揮発性とデータ永続化について知ろう

コンテナのストレージの仕組み

コンテナ内のログ出力を標準出力に出す

Dockerホストでコンテナのログを管理しよう

データ永続化の手法を知ろう

Bindによるデータ永続化を試してみよう

ボリュームによるデータ永続化を試してみよう

SECTION03 WordPressをデータ永続化してみよう

ここで作成するWordPressサイトの構造

データ永続化されたMySQLとWordPressを立ち上げよう

永続化領域のバックアップとリストアを試してみよう

SECTION04 Dockerの仕組みを知ろう

コンテナのランタイムとセキュリティを知ろう

Dockerのネットワークの仕組みを知ろう

Dockerの階層化ストレージの仕組みを知ろう

 

CHAPTER4 Dockerfileでイメージを作成しよう

SECTION01 Dockerfileの基本を知ろう

アプリ開発の流れとDockerfileの利点

アプリサーバーをDockerfileでビルドしてみよう

差分キャッシュを使った時短ビルドを試してみよう

ディレクトリのコピーと.dockerignore

SECTION02 Docker向けの小さいイメージを作成してみよう

Alpine LinuxでGo言語のアプリサーバーを作成してみよう

ステージングビルドで容量削減してみよう

バイナリアプリのみのコンテナを作ってみよう

Dockerfileを作るコツ

SECTION03 コンテナ上のアプリを正しく動かそう

アプリをPID1として起動しよう

終了シグナルをハンドルしてアプリを安全に停止させよう

supervisorで複数の子プロセス(アプリ本体)を管理しよう

SECTION04 GitとGitHubを使ってみよう

GitHubの利用法を知ろう

GitHubを使ったDockerイメージの開発手段を試そう

 

CHAPTER5 Composeを使ってマルチコンテナアプリを作ろう

SECTION01 Docker Composeを使ってみよう

Composeを使ってコンテナ利用法を定義できる

Composeでnginxを展開してみよう

ComposeでWordPressとMySQLを展開してみよう

SECTION02 Composeを使ってイメージ開発してみよう

ComposeでDockerfileを使ってみよう

Dockerを使った開発の利点と面倒くささ

ソースコードをBindしてコンテナを更新

Bindを使った開発法をnginxのサイト作成で試してみよう

SECTION03 Composeのその他の機能を学ぼう

Composeを使ってリモートDockerホストを操作しよう

Composeファイル内で環境変数を参照しよう

その他のComposeの命令を使ってみよう

SECTION04 Composeで本格的な3階層アプリを開発してみよう

開発するアプリの構成について

KVS(Redis)の操作とREST APIの利用法を知ろう

アプリサーバー(Flask)を構築しよう

Webサーバー(nginx)を構築しよう

 

CHAPTER6 DockerアプリでCI/CDしよう

SECTION01 継続的開発とデプロイについて知ろう

SCMとパイプラインを使ったCI/CDの実現

CI/CDではDockerを多用できる

Jenkinsについて知ろう

Jenkinsfileを使ったパイプラインの作り方を知ろう

SECTION02 DockerベースのCI/CD環境を準備しよう

環境の全体構成を把握しよう

Dockerホスト上にJenkinsを用意しよう

GitHubリポジトリを作成しよう

Jenkinsfileを確認しよう

Jenkinsのジョブを作成しよう

SECTION03 パイプラインを実行してみよう

手動ビルドでパイプラインを実行してみる

ビルドの履歴を確認してみる

SCMを更新して自動でパイプラインを実行させよう

Jenkinsfileの処理を見てみよう

パイプライン処理1:変数の定義

パイプライン処理2:環境などの事前チェック

パイプライン処理3:ビルド環境でイメージを作成

パイプライン処理4:ビルド環境でユニットテストを実行

パイプライン処理5:イメージをレジストリに登録

パイプライン処理6:本番環境で本番用イメージを自動展開

 

CHAPTER7 Kubernetesを理解しよう

SECTION01 Kubernetesについて知ろう

Kubernetesの概要

Kubernetesの歴史

開発エンジニア視点で見たKubernetes

インフラエンジニア視点で見たKubernetes

Kubernetesの構成要素

Kubernetes環境の構築

SECTION02 Kubernetesでアプリを展開しよう

命令方式によるnginxの展開

マニフェストファイルの概要

マニフェストによるnginxの展開

SECTION03 Kubernetesのネットワークについて知ろう

ネットワークの種類

MySQLのマニフェスト

WordPressのマニフェスト

 

CHAPTER8 Kubernetesを利用しよう

SECTION01 Kubernetes用イメージを開発しよう

開発の流れ

Composeによるイメージのビルド

Kubernetesでのイメージ展開

SECTION02 デプロイメントを使ってみよう

デプロイメントリソースの概要

ポッドの水平スケールと自動復旧

どのようなポッドを水平スケールさせられるか

バージョンアップ戦略

ロールバック

SECTION03 次世代のインフラとアプリ設計について学ぼう

インフラと開発技術の歴史

Docker/Kubernetesを使ったクラウドの抽象化

DevOpsを実現させる方向性を知ろう

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL