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の有効化
タスクマネージャーのパフォーマンスから、仮想化が有効か確認します。
![](https://tech.shiroshika.com/wp-content/uploads/2018/12/img_5c27791e25cf0.png)
Docker for Windowsインストーラの入手
インストーラを入手するために、まずはアカウントを作成します。
![](https://tech.shiroshika.com/wp-content/uploads/2018/12/img_5c2786c359c8b-1024x654.png)
必要な情報を入力したら、「Sign Up」を押します。
![](https://tech.shiroshika.com/wp-content/uploads/2018/12/img_5c277b9d80210-1024x604.png)
Docker Hubからメールが送られてきます。
![](https://tech.shiroshika.com/wp-content/uploads/2018/12/img_5c277cd335387-1024x604.png)
自分のメールボックスを確認します。メールに「Confirm Your Email」とあるので、
アクティベーションします。
![](https://tech.shiroshika.com/wp-content/uploads/2018/12/img_5c277cb30f0bc-1024x448.png)
ログイン画面が表示されるので、先ほど登録したアカウントとパスワードを入力します。
![](https://tech.shiroshika.com/wp-content/uploads/2018/12/img_5c277d8216dbd-1024x604.png)
ログインすると、以下の画面が表示されます。
![](https://tech.shiroshika.com/wp-content/uploads/2018/12/img_5c277e32b97be-1024x604.png)
ログインできたので、改めて以下のURLからインストーラをダウンロードします。
![](https://tech.shiroshika.com/wp-content/uploads/2018/12/img_5c27892a8dcdb-1024x604.png)
Docker for Windowsのインストール実行
ダウンロードしたインストーラを起動します。
![](https://tech.shiroshika.com/wp-content/uploads/2018/12/img_5c27897315a0a-1024x709.png)
ダウンロードが完了すると、下記の画面が表示されます。
この「log out」はWindowsからのログアウトになるので、
ファイルなど未保存のものは保存しておかないとデータが消えます。
(わたしは、Docker Hubからのログアウトかと思って痛い目にあいました。)
![](https://tech.shiroshika.com/wp-content/uploads/2018/12/img_5c2789d8c3d2f-1024x709.png)
Windowsの再起動後、以下の画面が表示されるので「OK」を押します。
![](https://tech.shiroshika.com/wp-content/uploads/2018/12/img_5c278a5d81654-1024x376.png)
すると、またもや再起動になります。再起動後には、画面にDockerのサブ画面が表示されます。
![](https://tech.shiroshika.com/wp-content/uploads/2018/12/img_5c278ab9bcb66-1024x576.png)
Docker Desktop is runningになればインストール成功です。
![](https://tech.shiroshika.com/wp-content/uploads/2018/12/img_5c278b2a0b31c-1024x576.png)
PowerShellでインストールしたDockerのバージョンを確認
![](https://tech.shiroshika.com/wp-content/uploads/2018/12/img_5c278cef471d6-1024x833.png)