Windows Server 2016 に Docker をインストールするプロセスと発生した問題

Windows Server 2016 に Docker をインストールするプロセスと発生した問題

前提条件

Windows Server でコンテナーを実行するには、Windows Server (半期チャネル)、Windows Server 2019、または Windows Server 2016 を実行している物理サーバーまたは仮想マシンが必要です。

まずサーバーを更新することをお勧めします

Windows Server 2016 はすでに Docker テクノロジをサポートしており、公式情報も提供されています。

https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/quick-start-windows-server

一般的にこのリンクを参照することに問題はありませんが、まだ大きな落とし穴があります。
PowerShell を使用して sconfig を実行し、6 を選択して A と入力し、すべての更新プログラムをダウンロードします。

ここに画像の説明を挿入
ここに画像の説明を挿入

Dockerをインストールする

Windows Server に Docker をインストールするには、Microsoft が公開している DockerMicrosoftProvider という OneGet プロバイダー PowerShell モジュールを使用できます。 このプロバイダーは、Windows でコンテナー機能を有効にし、Docker エンジンとクライアントをインストールします。 やり方は次のとおりです:
管理者特権の PowerShell セッションを開き、PowerShell ギャラリーから Docker-Microsoft PackageManagement プロバイダーをインストールします。

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

NuGet プロバイダーをインストールするように求められたら、Y と入力してインストールします。
PackageManagement PowerShell モジュールを使用して最新バージョンの Docker をインストールします。

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

PowerShell がパッケージ ソース「DockerDefault」を信頼するかどうかを尋ねたら、A と入力してインストールを続行します。
インストールが完了したら、コンピューターを再起動します。

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

後で Docker を更新する場合は、次の手順を実行します。

  • Get-Package -Name Docker -ProviderName DockerMsftProvider使用します。
  • インストールされているバージョンを表示するには、 Find-Package -Name Docker -ProviderNameを使用します。
  • DockerMsftProvider現在のバージョンが準備できていることを確認したら、 Install-Package -Name Dockerを使用します。
  • ProviderName DockerMsftProvider -Update -Forceでアップグレードし、 Start-Service Dockerを実行します。

確認する

docker バージョンを入力してください:

PS C:\Users\Administrator> docker バージョン
クライアント: Docker Engine - エンタープライズ
バージョン: 19.03.5
APIバージョン: 1.40
Goバージョン: go1.12.12
Gitコミット: 2ee0c57608
作成日: 2019/11/13 08:00:16
OS/アーキテクチャ: windows/amd64
実験的: 偽

サーバー: Docker エンジン - エンタープライズ
エンジン:
バージョン: 19.03.5
API バージョン: 1.40 (最小バージョン 1.24)
Goバージョン: go1.12.12
Gitコミット: 2ee0c57608
作成日: 2019/11/13 07:58:51
OS/アーキテクチャ: windows/amd64
実験的: 偽

この時点で、Docker のインストールは完了です。次に、たとえば次のコマンドを実行して、いくつかの Docker ファイルをダウンロードして試すことができます。

docker run microsoft/dotnet-samples:dotnetapp-nanoserver

この例では、Docker ファイルを自動的にダウンロードして実行しますが、ダウンロード速度は非常に遅いです。ダウンロードが成功することを願っています。
次の紹介については、この記事を参照してください。
https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/quick-start-images

発生した問題

install-moduleを使用できません:

PS C:\Users\Administrator> Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Get-PSGalleryApiAvailability: PowerShell ギャラリーは現在利用できません。後でもう一度お試しください。
場所: C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1711 文字数: 9
+ Get-PSGalleryApiAvailability -リポジトリ $Repository
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ カテゴリ情報: 無効な操作: (:) [Get-PSGalleryApiAvailability]、無効な操作例外
+ FullyQualifiedErrorId: PowerShellGalleryUnavailable、Get-PSGalleryApiAvailability

Get-PSGalleryApiAvailability: PowerShell ギャラリーは現在利用できません。後でもう一度お試しください。
場所: C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:4437 文字数: 9
+ Get-PSGalleryApiAvailability -リポジトリ $Name
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ カテゴリ情報: 無効な操作: (:) [Get-PSGalleryApiAvailability]、無効な操作例外
+ FullyQualifiedErrorId: PowerShellGalleryUnavailable、Get-PSGalleryApiAvailability

解決:
管理者として PowerShell を開き、次のコマンドを順番に入力します。

$ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$ インストール-パッケージプロバイダー -名前 NuGet -最小バージョン 2.8.5.201 -Force
$ インストールモジュールposh-ssh

また、お使いのマシンがインターネットにアクセスできることを確認してください。

PS C:\Users\Administrator> [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
PS C:\Users\Administrator> Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force

名前 バージョン ソース 概要
---- ------- ------ -------
nuget 2.8.5.208 https://onege... OneGet メタパッケージ マネージャーの NuGet プロバイダー

PS C:\Users\Administrator> Install-Module posh-ssh

参考文献:

[1] https://cloud.tencent.com/developer/article/1378641

[2] https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server

Windows Server 2016 への Docker のインストールに関するこの記事はこれで終わりです。Windows Server 2016 への Docker のインストールの詳細については、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • RocketMQ の Docker インストールとインストール中に発生した問題の解決策
  • Docker-compose インストール yml ファイルの設定方法
  • dockerにros2をインストールするための詳細な手順
  • CentOS 8にdockerをインストールする最も詳細な方法
  • Dockerにlogstashをインストールする詳細な手順
  • Docker のクイックインストール手順チュートリアル

<<:  Vueコンポーネント間のデータ共有の詳細な説明

>>:  HTML 選択オプション デフォルトの選択方法

推薦する

MYSQL 左結合の最適化 (10 秒から 20 ミリ秒)

目次【機能背景】 [生のSQL] 【独自SQL解析】 【分析手順】 [最適化されたSQL] 【最適化...

Linux システムで Vim を使用してリモート ファイルを読み書きするコマンドの詳細な説明

vim の動作モードを設定する (一時的) :set (モード情報) :set nu — 行番号を表...

IE7でソースファイルを含むページを開くとページが空白になる問題の解決方法

質問:私のブログのエンコーディングは utf-8 です。ページを開くと空白になっていることもあります...

Vueはシンプルなショッピングカートの例を実装します

この記事では、参考までに、Vue の具体的なコードを共有して、簡単なショッピングカートを実装します。...

4 つの主要な SQL ランキング関数 ROW_NUMBER、RANK、DENSE_RANK、NTILE の使用方法の紹介

1. ROW_NUMBER()定義: ROW_NUMBER() 関数は、select によってクエリ...

Linux の cut コマンドの説明

Linux や Unix の cut コマンドは、ファイルの各行から一部を切り取って標準出力に出力す...

Centos7でmysql5.7.19のデータ保存場所を移動する方法

シナリオ: データ量が増加すると、MySQL が配置されているディスクがいっぱいになり、より大きなス...

HTML マークアップ言語 - テーブルタグ

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

CentOS 8 インストール図 (超詳細なチュートリアル)

CentOS 8 が正式にリリースされました! CentOS は Red Hat の再配布ポリシー...

vue3を使用してAppleシステムのサイドメッセージプロンプト効果を模倣する

目次アニメーションプレビューその他のUIライブラリ始めるコンポーネントディレクトリ構造トーストおおよ...

親要素を基準にCSSの位置を絶対的に設定する方法についての簡単な説明

ご存知のとおり、CSS の絶対位置はデフォルトでドキュメントに応じて設定されます。たとえば、posi...

Linux システムで tcpdump を使用してパケットをキャプチャする方法

まずサンプルコードを見てみましょう: 1. 共通パラメータ tcpdump -i eth0 -nn ...

リンク内の href=# はどういう意味ですか?

現在のページへのリンク。 -------------------一般的な使用法は次のとおりです。 &...

JS ES6 スプレッド演算子の魔法のような使い方

目次1. 属性を追加する2. 複数のオブジェクトを結合する3. オブジェクトのプロパティを削除する4...

vuex での Getter の使用法の詳細な説明

序文Vuex を使用すると、ストア内に「ゲッター」を定義できます (これはストアの計算されたプロパテ...