Windows Server 2016 に Docker をインストールする方法

Windows Server 2016 に Docker をインストールする方法

最近、Microsoft は Docker をネイティブにサポートする Windows Server 2016 をリリースしました。この記事では、一連の手順を通じて Windows Server 2016 に Docker をインストールする方法を説明します。

Windows は、Windows Server コンテナーと Hyper V コンテナーという 2 種類のコンテナーをサポートしています。 どちらのタイプのコンテナも同じように使用され、同じコンテナ イメージをサポートします。 しかし、それらの実装メカニズムは異なり、異なるセキュリティ分離レベルを提供します。

Windows Server コンテナー - Linux コンテナーと非常によく似ており、名前空間とリソース制御を使用してプロセスの分離を実現します。各 Windows Server コンテナーは、ホスト マシンと同じカーネルを共有します。
Hyper V コンテナー - 各コンテナーは高度に最適化された Hyper V 仮想マシンで実行されるため、コンテナーには独自の独立したカーネルがあります。これにより、コンテナの分離は向上しますが、起動プロセスが遅くなり、リソースの使用量も増加します。
Windows Server 2016 環境がない場合は、Docker for Windows を使用して Windows 10 オペレーティング システムで実験を開始することもできます。

Docker 中国語ガイドからのヒントをいくつか紹介します。

ヒント 1: Docker は Windows 7.1 および Windows 8 でテストされていますが、以前のバージョンの Windows でも使用できます。ただし、プロセッサがハードウェア仮想化をサポートしている必要があります。

ヒント 2: Docker Engine は Linux カーネルの機能を使用するため、Docker を実行するには Windows 上で軽量の仮想マシン (VM) を使用する必要があります。 Docker 仮想化エンジンのビルド、実行、管理を制御するには、Windows 用の Docker クライアントを使用します。

ヒント 3: このプロセスを簡素化するために、仮想マシンをインストールして Docker を実行するために使用できる Boot2Docker というアプリケーションを設計しました。

ヒント 4: Windows Docker クライアントを使用していますが、Docker エンジン コンテナーは引き続き Linux ホスト上で実行されています (現在は Virtual Box 経由)。 Docker Engine の Windows バージョンが開発されるまでは、Windows ホスト上で Linux コンテナーを起動するだけで済みます。

Windows に Docker 環境をインストールするための基本要件:

(1)64ビットオペレーティングシステム、Windows 7以上である必要があります(新しいバージョンには多くの新しいコンポーネントが統合されているため、Windows 10 / Server 2016が推奨されます)
(2)「ハードウェア仮想化技術」をサポートし、「仮想化」が利用可能(つまり、BIOSでVTパラメータが有効になっている)

1. Windows Server 2016 の 180 日間評価版をダウンロードします。

アドレス: https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2016?i=1

Windows Server 2016 公式簡体字中国語版 64 ビット (アクティベーション シリアル番号 キー付き)

2. Windows Server 2016をインストールする

インストールプロセスは Windows 10 と同様で、必要に応じて GUI をインストールするかどうかを選択できます。

3. システムを最新バージョンにアップデートする

PowerShell を開き、コマンド「sconfig」を入力し、6 を選択して更新プログラムをダウンロードしてインストールします。

===============================================================================
       サーバー構成 === ...

1) ドメイン/ワークグループ: ワークグループ: WORKGROUP
2) コンピュータ名: WIN-GHUNK220OOQ
3) ローカル管理者の追加 4) リモート管理を有効にする 5) Windows Update 設定: ダウンロードのみ 6) 更新プログラムのダウンロードとインストール 7) リモート デスクトップ: 有効 (すべてのクライアント)

8) ネットワーク設定 9) 日付と時刻 10) テレメトリ設定の基本 11) Windows のアクティベーション 12) ユーザーのログオフ 13) サーバーの再起動 14) サーバーのシャットダウン 15) コマンドラインへの終了

4. Dockerをインストールする

まず、oneget PowerShellモジュールをインストールします

インストールモジュール -名前 DockerMsftProvider -リポジトリ PSGallery -Force

次に、onegetを使用して最新バージョンのdockerをインストールします。

インストールパッケージ -Name docker -ProviderName DockerMsftProvide

PowerShell は、本当に「DockerDefault」からソフトウェアをインストールするかどうかを尋ねます。すべて「A」を選択します。

PS C:\> Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
PS C:\> インストール パッケージ -Name docker -ProviderName DockerMsftProvider

パッケージは、信頼できるものとしてマークされていないパッケージ ソースから提供されています。
「DockerDefault」からソフトウェアをインストールしてもよろしいですか?
[Y] はい (Y) [A] すべてはい (A) [N] いいえ (N) [L] すべていいえ (L) [S] 一時停止 (S) [?] ヘルプ (デフォルト値は "N"): A
警告: docker サービスを開始するには再起動が必要です。マシンを再起動してください。
警告: 再起動後、docker サービスを開始してください。

名前 バージョン ソース 概要
---- ------- ------ -------
Docker 1.12.2-cs2-ws... DockerDefault Windows で使用するための CS Docker エンジンが含まれています...

インストールが完了したらコンピュータを再起動してください

コンピュータの再起動 - 強制

PowerShellにdocker versionと入力してdockerのバージョンを表示します。

PS C:\Users\Administrator> docker バージョン
クライアント:
 バージョン: 1.12.2-cs2-ws-beta
 API バージョン: 1.25
 Goバージョン: go1.7.1
 Gitコミット: 050b611
 作成日: 2016年10月11日火曜日 02:35:40
 OS/アーキテクチャ: windows/amd64

サーバ:
 バージョン: 1.12.2-cs2-ws-beta
 API バージョン: 1.25
 Goバージョン: go1.7.1
 Gitコミット: 050b611
 作成日: 2016年10月11日火曜日 02:35:40
 OS/アーキテクチャ: windows/amd64

5. 最初のDockerコンテナをインストールする

docker run を使用して .net core hellworld 公式アプリケーション イメージをデプロイする

docker run microsoft/dotnet-samples:dotnetapp-nanoserver

Linuxデプロイメントコンテナと同じインターフェースが表示されます

PS C:\Users\Administrator>docker run microsoft/dotnet-samples:dotnetapp-nanoserver
イメージ 'microsoft/dotnet-samples:dotnetapp-nanoserver' がローカルに見つかりません
dotnetapp-nanoserver: microsoft/dotnet-samples からプル
5496abde368a: ダウンロード中 [===> ] 14.6 MB/242.6 MB
482ab31872a2: ダウンロード中 [=========> ] 19.46 MB/100.5 MB
df00079eb06a: ダウンロードが完了しました
79730b122a0a: ダウンロードが完了しました
e2f5db19e1d2: ダウンロード中 [===> ] 2.293 MB/32.48 MB
c34ebc4d7351: 待機中
8c97c2cd28c1: 待機中
6bd62be70d1c: 待機中
9b45b5fe5811: 待機中

参考記事:

https://msdn.microsoft.com/virtualization/windowscontainers/containers_welcome

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Windows Server 2016 に Docker をインストールするプロセスと発生した問題

<<:  一般的なMySQLコマンドの概要

>>:  MySQLデータベースの共通操作スキルのまとめ

推薦する

HTML テーブル マークアップ チュートリアル (2): テーブル境界属性 BORDER

デフォルトでは、テーブルの境界線は 0 ですが、テーブルの境界線を設定できます。基本的な構文<...

HTML タグ マーキーはさまざまなスクロール効果を実現します (JS 制御なし)

ページの自動スクロール効果は JavaScript で実現できますが、今日偶然、JS 制御なしでさま...

JavaScript のコールバック関数の理解と使用

目次概要コールバックまたは高階関数とは何ですか?コールバック関数はどのように機能しますか?コールバッ...

要素 DateTimePicker+vue ポップアップボックスに時間のみが表示される問題を解決する

3つの知識ポイント: 1. CSS子孫セレクターhttps://www.w3school.com.c...

モバイル署名機能を実装するJavaScript

この記事では、モバイル署名機能を実装するためのJavaScriptの具体的なコードを参考までに共有し...

Docker プライベートリポジトリの管理とローカルリポジトリ内のイメージの削除

1: Dockerプライベートウェアハウスのインストール1. イメージリポジトリからイメージをダウン...

Django が uwsgi+nginx プロキシで静的リソースにアクセスできない問題の解決方法

uwsgi+nginx プロキシ Django をデプロイする場合、uwsgi を使用したアクセスは...

vue+element テーブルで動的な列フィルタリングを実装するためのサンプルコード

要件: データをリスト形式で表示する場合、表示すべき情報項目が多く、表が横に長くなってしまいます。表...

Tomcat Nativeを使用してTomcat IO効率を向上させる方法の詳細な説明

目次導入Tomcatへの接続方法APR と Tomcat ネイティブtomcat で APR を使用...

Linux trコマンドの使用

1. はじめにtr はテキストの一部を変換または削除するために使用されます。 tr は transl...

MySQL におけるデータタイムとタイムスタンプの違い

MySQL には 3 つの日付型があります。日付(年-月-日)テーブル test(hiredate ...

フロントエンド Vue ユニットテストを始める

目次1. ユニットテストはなぜ必要なのでしょうか? 2. ユニットテストの書き方3. テストツール4...

MySQLクラスタのDockerデプロイメントの実装

シングルノードデータベースの欠点大規模なインターネットプログラムはユーザーベースが大きいため、アーキ...

Linux には make コマンドがありません (make: *** ターゲットが指定されておらず、makefile または make コマンドのインストール方法が見つかりません)

知らせ! ! !この状況は、実際には仮想マシンのインストール中に回避できます。次回仮想マシンをテスト...

NextCloud プライベート クラウド ストレージ ネットワーク ディスクの構築に関する詳細なチュートリアル

Nextcloud は、オープンソースで無料のプライベート クラウド ストレージ ネットワーク ディ...