GNU/Linux >> Linux の 問題 >  >> Linux

方法:WindowsコンテナーとDockerの使用を開始する

はじめに

この記事は、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に複数のノードをセットアップすることで冗長性と自動フェイルオーバーを作成するなど、興味深いことを実行できます。お楽しみください!


Linux
  1. 方法:Ansibleを使い始める

  2. LXC コマンドを使用して LXC Linux コンテナを作成および起動する方法

  3. Docker コンテナーをバックアップおよび復元する方法

  1. Dockerを使用してOpenVPNサーバーをインストールしてホストする方法

  2. Docker コンテナを一時停止および再開する方法

  3. Linux サーバーを Windows DNS サーバーに登録する方法

  1. LinuxデスクトップでOKDを使い始める

  2. Dockerコンテナを一覧表示する方法

  3. FreeBSDクラウドサーバーを使い始める方法