はじめに
この記事は、Atlantic.NetクラウドでコンテナーとDockerを使用してWindowsServer2016を使用する方法の基本的な入門書です。 Dockerは最初にLinuxでコンテナーを普及させましたが、Windows 2016では、Windowsコンテナーもネイティブにサポートされるようになりました。これは、アプリケーションをコンテナ内に構築し、すべてのデバイスでまったく同じように動作および実行されることを認識して、開発環境と本番環境にアプリケーションを出荷できることを意味します。
このチュートリアルでは、Microsoftが配布したIISコンテナーイメージからIISコンテナーにWebページを展開します。簡単なチュートリアルから始めましょう!
Atlantic.Netクラウドサーバーの導入
まず、Atlantic.NetCloudのContainersVPSを使用して新しいWindows2016を展開する必要があります。
- https://cloud.atlantic.netにログインします。
- 「+サーバーの追加」をクリックします 。」
- [サーバーの追加]ページで、次のように入力します。
- サーバー名:サーバーの名前をどのようにしますか。例:「 Windows 2016 Docker 。」
- 場所:サーバーを作成するデータセンター。
- タイプ:「オペレーティングシステム」の下 」タブで、「 Windows」を選択します 、」をクリックし、「 2016 Datacenter(with Containers / Docker)」を選択します。 。」
- 期間:月ごとのオンデマンド価格設定が必要ですか、それともこのサーバーの1年または3年の期間契約が必要ですか?
- 計画:少なくとも G2.2GBをお勧めします メモリ要件のため、Windowsベースのサーバーのサイズを計画します。
- バックアップを有効にする:サーバーを毎日バックアップしますか?
- 「サーバーの作成」をクリックします 」をクリックして、サーバーのプロビジョニングを開始します。次のページには、新しいサーバーのログイン資格情報が表示されます。これらをどこかに保存して、ログインに使用できるようにしてください。注:資格情報もメールで送信されます 。
Windows2016へのログイン
サーバーのプロビジョニングが完了したら、Windows 2016にログインする必要があります。リモートログインの方法については、ここをクリックしてください。
Dockerバージョンの確認
Windowsコマンドプロンプト(cmd.exe)から「dockerversion」コマンドを実行して、Dockerが実際にインストールされていることを確認します。
C:\Users\Administrator>docker version Client: Version: 17.03.1-ee-3 API version: 1.27 Go version: go1.7.5 Git commit: 3fcee33 Built: Thu Mar 30 19:31:22 2017 OS/Arch: windows/amd64 Server: Version: 17.03.1-ee-3 API version: 1.27 (minimum version 1.24) Go version: go1.7.5 Git commit: 3fcee33 Built: Thu Mar 30 19:31:22 2017 OS/Arch: windows/amd64 Experimental: false
最初のIISコンテナの実行
最初のステップは、Microsoftの分散IISコンテナーを取得することです。 docker pullを使用してこれを行うことができます コマンド(例: docker pull マイクロソフト/ iis)。ただし、簡単にするために、この手順をスキップして、最初のコンテナーの起動に直接進むことができます。 Dockerは、必要なイメージ(および依存するイメージ)がまだローカルに存在しない場合、それらを自動的にプルダウンします。
注:コマンドを実行するときに、コンテナーのいくつかのプロパティを設定します:
- 名前:コンテナの名前。この場合、「 –name」と入力して名前を指定します。 myIIS 。」
- ポート:サーバーで開くポートを指定できます。これを行うには、コンテナの内部ポートを外部ポートにバインドして、パブリックにアクセスできるようにします。この場合、コンテナのポート80(Webポート)を「 -p80:80」を使用してクラウドサーバーのポート80にバインドしています。 「。
Dockerは、必要なイメージ(および依存するイメージ)がまだローカルに存在しない場合、それらを自動的にプルダウンします。
C:\Users\Administrator>docker run -d --name myIIS -p 80:80 microsoft/iis Unable to find image 'microsoft/iis:latest' locally latest: Pulling from microsoft/iis 3889bb8d808b: Pull complete 6d4d50238ed1: Pull complete 0606d7d474d1: Pull complete 672755d284cd: Pull complete 88f5b9741695: Pull complete d53dd94c8474: Pull complete Digest: sha256:bcbcb3b442bc5f0ab3b8b769b52584d98751861b5e438b866d59287cc8112f10 Status: Downloaded newer image for microsoft/iis:latest 2614436cb74c8a21c77e071e13fb5937c12f8946ce8e3c7044e24216cae4100b
これでコンテナが実行され、次のコマンドで確認できます:
C:\Users\Administrator>docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2614436cb74c microsoft/iis "C:\\ServiceMonitor..." 4 days ago Up 4 days 0.0.0.0:80->80/tcp myIIS
次に、コンテナにログインして、Windowsコマンドプロンプト( cmd.exe )を開始します。 )コンテナ内でインタラクティブコマンドを入力します:
C:\Users\Administrator>docker exec -i myIIS cmd Microsoft Windows [Version 10.0.14393] (c) 2016 Microsoft Corporation. All rights reserved. C:\>
コンテナにログインしたので、デフォルトのIIS Webサーバーのスタートページを削除して、独自のインデックスページを追加できるようにします。
del C:\inetpub\wwwroot\iisstart.htm
次に、独自のコンテンツをindex.htmlページに追加します。
echo "Nice! My first container is displaying this text on my index page!" > C:\inetpub\wwwroot\index.html
次に、ブラウザを開き、クラウドサーバーのIPアドレスをURLフィールドに入力します。インデックスページが表示されます:
CMDに戻ります プロンプトで、 exitと入力します コンテナのインタラクティブセッションを終了するには:
C:\>exit exit C:\Users\Administrator>
変更を加えたDockerコンテナの構築とデプロイ
コンテナが希望どおりに構成されたので、将来使用するためにコンテナを新しいコンテナイメージに保存できます。まず、「 docker ps -a」からコンテナの名前を取得する必要があります。 」コマンドを実行してコンテナを停止します:
C:\Users\Administrator>docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2614436cb74c microsoft/iis "C:\\ServiceMonitor..." 4 days ago Up 4 days 0.0.0.0:80->80/tcp myIIS
C:\Users\Administrator>docker stop myIIS myIIS
「dockercommit<現在の名前><新しいイメージ名>」を使用して新しいコンテナを作成します 「。この場合、現在の名前は「 myIIS 「:
C:\Users\Administrator>docker commit myIIS configured-iis sha256:4d08b0a5561e11817d199d6d55d46497ce1d4221384d5c29b4c622d44cceed9c
新しいイメージが作成されたことを確認します:
C:\Users\Administrator>docker images REPOSITORY TAG IMAGE ID CREATED SIZE configured-iis latest 4d08b0a5561e 44 seconds ago 10.5 GB microsoft/iis latest 9e66ceefdc5a 2 weeks ago 10.4 GB
これで、作成したコンテナを将来の使用のためにデプロイできます:
docker run -d --name web01 -p 80:80 configured-iis
次に、新しいコンテナを停止して削除します:
C:\Users\Administrator>docker stop web01 web01
C:\Users\Administrator>docker rm web01 web01
仕上げ
上記は単なる基本的なチュートリアルです。また、DockerFilesを使用してコンテナーイメージのビルドを自動化し、イメージを一元化されたリポジトリにプッシュし、Docker Swarmに複数のノードをセットアップすることで冗長性と自動フェイルオーバーを作成するなど、興味深いことを実行できます。お楽しみください!