Engineerの研鑽

メインはプログラミング系ブログ(本の要約とかもします)

質問はCONTACTやコメントでお願い致します。

【わかるEC2】Microsoft Windows Server 2019でDocker環境を作ろう!

Microsoft Windows Server 2019

最近、大きな仕事が一つ終わったせいか、燃え尽き症候群になりかけているゆきとです。なんとかブログを書いたりプログラムを書いたりして燃え尽きないように日々行動を続けて自分を騙しています笑

 

本日はAWS EC2でWindows環境を作り、そのWindows環境にDocker環境を入れる方法を紹介したいと思います。

 

EC2インスタンス設定内容

下記の4点以外はデフォルトの設定のまま利用可能

  1. リージョン : 東京リージョン(ap-northeast-1)
  2. AMI : Microsoft Windows Server 2019 Base
  3. インスタンスタイプ : t2.large (t2.microでもいける?) 
  4. セキュリティグループ: 3389番ポートのみを開放していればよい

* 東京リージョン選定理由 : 海外にデータセンターを起きたくないため

* インスタンスタイプt2.large選定理由 : 

EC2上に仮想環境を作るときに2 vcpu 数、8 GB メモリ程度のスペックが必要になるため( https://teratail.com/questions/159118 ) => 私は先にこちらの記事を見ていたので、最初からt2.largeにしてしまいましたが、みなさんが設定される時は、t2.microで試してみてください。

EC2でDocker in WindowsOS環境作成する

 それでは作成していきます。手順はふたつです。

  1. AWS EC2インスタンスWindows環境で作成
  2. 作成したEC2インスタンスにRDP接続を行い、Docker環境を構築する

一つずつ説明していきます。

1. AWS EC2インスタンスWindows環境で作成

 EC2インスタンス設定内容で記述した条件で、EC2を作成する。(ここはそんなに難しくないので割愛します)

*EC2インスタンスを設定するときに作成したEC2へのアクセスキーは控えておいてください。(.pem形式のファイルです)手順2で使用します。

 

手順2を詳しく解説します。

2. 作成したEC2インスタンスにRDP接続を行い、Docker環境を構築する

まず、EC2インスタンスへRDPする前準備として、EC2インスタンスへRDP ( RemoteDesktopProtocol ) 接続(インスタンスを選択 > ヘッダー付近にある接続)を行クリックします。

EC2インスタンスRDP接続

EC2インスタンスRDP接続手順1

こちらの画面まで遷移した後、下記2点を行います。

リモートデスクトップファイルのダウンロード

パスワードの発行(EC2へのアクセスキーを使って、パスワードを発行します。このパスワードは、リモートデスクトップのログイン時に利用します)

 

ここまで行えば、EC2インスタンスへRDPする前準備は完了です。

 

次に、EC2へのRDP接続を行っていきます。

やり方はシンプルで、先程①リモートデスクトップファイルのダウンロードでダウンロードした.rdpファイルをダブルクリックして実行。

その後、何度か許可を求められたりする画面に全て許可をいれ、パスワード入力画面に移行。

そのパスワード入力画面で、先程②パスワード発行で作成したパスワードを入力して、接続すれば無事EC2にアクセスできます。

EC2 WindowsOS

ここまでくれば、あと一息です。コマンドをぽちぽちしてDockerをインストールしていきましょう。(2021/04/06現在はこのコマンドで実行できますが、一年後同じ様にできるとは限りません)

 

Qiitaの記事(https://qiita.com/Targityen/items/c4ed5ed9b9227e2f573d )を参考にしつつ、設定を進めていきます。(記事の内容が古いので、適宜コマンドに変更を加えています)

 

1. RDP接続したEC2内で、PowerShellを起動

(右クリック => Personalize => powershellで検索 => PowerShell Developer Settings => PowerShell => Show settings)

 

2. Hyper-Vをインストール

コマンド1Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -NoRestart
コマンド2Install-WindowsFeature RSAT-Hyper-V-Tools -IncludeAllSubFeature

 

3. コンテナ機能をインストール 

コマンドPowerShell Install-WindowsFeature containers

 

4. ここまで設定できれば一度、再起動を行う

コマンドRestart-Computer

* EC2への接続が削除されるはずなので、再度RDP接続を行っておく

 

5. DockerEEをインストールするためのプロバイダをインストール

コマンドPowerShell Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

 

6. DockerEEのインストール

コマンドPowerShell Install-Package -Name Docker -ProviderName DockerMsftProvider -Force

 

7. ここまで設定できれば一度、再起動を行う 

コマンドRestart-Computer

*ここでもEC2への接続が削除されるはずなので、再度RDP接続を行っておく

 

以上でDockerのインストールは完了です。7. で再接続したEC2でDockerがインストールされているかをdocker --versionコマンドで確認して、無事確認できればdockerがインストールは完了です。

 

*もし今までの流れの中でうまくいかない部分があれば、エラー文を一つ一つgoogle先生で調べてみてください。(エラー文でググるとたいていなんとかなります)

Dockerインストール完了

 

以上、今日もブログを読んでくださり、本当にありがとうございます。

 

それではまた後日!