Windows10(WSL) でDocker / Kubernetes コンテナ開発の自学自習 | Docker / Kubernetes 実践コンテナ開発入門(1.Dockerの基礎)
Docker / Kubernetes 実践コンテナ開発入門(1.Dockerの基礎)
この記事は、「Docker/Kubernetes 実践コンテナ開発入門」の書籍を見ながら実践しています。実際の開発に即した内容となっており良書でした。
1.Dockerの基礎
1.1 Dockerとは
- 2013年春にSolomon Hykes氏がオープンソースとして公開
- コンテナ型仮想化技術の1つ
- コンテナは、OSのユーザー空間を切り出して提供する
- →ソフトウェアでハードウェアを仮想化(OS型の仮想化)するよりもオーバーヘッドが少ない
- ホストOSに左右されない実行環境(Docker Engineが吸収)
- Dockerfileを用いたコンテナ情報のコード化(冪等性)
1.2 Dockerを利用する意義
- 環境差異からの脱却:Dockerfileにより、インフラ環境をコードベースで管理でき、 確実にゼロからサーバをセットアップできる
- Infrastructure as code :コードベースでのインフラ環境構成管理
- chef、ansibleは物理ホスト、仮想ゲスト等、広い範囲での構成管理
- dockerはコンテナの構成管理
- Immutable Infrastructure :ある時点のサーバの状態を保存し、複製可能とする
- 確実にゼロからサーバをセットアップできることが保証される
- 冪等性が不要になる→プロビジョニング(サービス提供の仕組み)はとてもシンプル
- Infrastructure as code :コードベースでのインフラ環境構成管理
- アプリ構成管理のしやすさ
- 一定規模のシステムは、複数のアプリケーションとミドルウェアから構成される
- アプリケーションとミドルウェアの設定をコードベースで管理できる。
- Docker Compose:複数コンテナの管理
- Docker Swarn:複数サーバでの、複数コンテナ管理
- 一定規模のシステムは、複数のアプリケーションとミドルウェアから構成される
1.3 ローカルDocker環境を構築する
- 書籍とは異なり、WSLで環境を構築
- 2018/12月現在では、Windows 10 Home + WSLでDocker / Kubernetesを行うのはしんどい。
- そのためWindwos 10 Proにアップグレードして、Docker for windowsを使えるようにしました。
- Windows 10 Proへのアップグレード参照
Hyper-Vの有効化
タスクマネージャーのパフォーマンスから、仮想化が有効か確認します。

Docker for Windowsインストーラの入手
インストーラを入手するために、まずはアカウントを作成します。

必要な情報を入力したら、「Sign Up」を押します。

Docker Hubからメールが送られてきます。

自分のメールボックスを確認します。メールに「Confirm Your Email」とあるので、
アクティベーションします。

ログイン画面が表示されるので、先ほど登録したアカウントとパスワードを入力します。

ログインすると、以下の画面が表示されます。

ログインできたので、改めて以下のURLからインストーラをダウンロードします。

Docker for Windowsのインストール実行
ダウンロードしたインストーラを起動します。

ダウンロードが完了すると、下記の画面が表示されます。
この「log out」はWindowsからのログアウトになるので、
ファイルなど未保存のものは保存しておかないとデータが消えます。
(わたしは、Docker Hubからのログアウトかと思って痛い目にあいました。)

Windowsの再起動後、以下の画面が表示されるので「OK」を押します。

すると、またもや再起動になります。再起動後には、画面にDockerのサブ画面が表示されます。

Docker Desktop is runningになればインストール成功です。

PowerShellでインストールしたDockerのバージョンを確認
