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 選択オプション デフォルトの選択方法

推薦する

jsはreduceメソッドを使用してコードをよりエレガントにします

序文実際のプロジェクトでは、最も一般的な処理は計算とループロジックである可能性があります。配列でre...

テーブルの幅を固定して、テキストによって幅が変わらないように設定

ページ内のテーブルの幅を width="600px" に設定した後も、幅が固定さ...

Alibaba Cloud ECS サーバーでポート 8080 を開く方法

セキュリティ上の理由から、Alibaba Cloud Server ECS にはデフォルトで独自のセ...

CSS マルチカラムレイアウトソリューション

1. 固定幅+適応型期待される効果: 左側は固定幅、右側は適応幅 共通コード: html: <...

Nginx 構成の実装 https

目次1: https証明書を準備する2: nginx sslモジュールを準備する3: SSL証明書を...

Docker がポート 2375 を公開し、サーバー攻撃を引き起こす問題と解決策

docker リモート API を学習した学生であれば、ポート 2375 についてよくご存知だと思い...

レスポンシブデザインについて知っておくべきこと

レスポンシブデザインとは、ウェブサイトの開発プロセス中に、ユーザーの操作やデバイス環境に応じて対応す...

Dockerは同じIPネットワークセグメントとの接続を実現する

最近、Docker とホストが同じネットワーク セグメント上で通信する問題を解決し、そのプロセス全体...

MySQLデータベースを使い始めるための最初のステップはテーブルを作成することです

データベースを作成する右クリック - 新しいデータベースを作成ライブラリ名を入力し、文字セットと並べ...

tbodyタグの魔法はテーブルコンテンツの表示を高速化します

他の人のウェブページを保存して見たことがあると思いますが、特にdwで開くと、多くのウェブページに&l...

ウェブデザインのグラフィック構成と組版機能の紹介

すべてには基礎が必要です。家を建てるには基礎が必要です。方程式を解くには、まず九九を覚える必要があり...

JavaScript で支払いの 10 秒カウントダウンを実現

この記事では、支払いの10秒カウントダウンを実現するためのJavaScriptの具体的なコードを参考...

Web デザイン TabIndex 要素

TabIndex は、Tab キーを押して、定義された TabIndex 要素を順番に取得し、各要素...

HTML の入力の readonly 属性と disabled 属性の違いについて簡単に説明します。

「読み取り専用」と「無効」はどちらも、ユーザーがフォーム フィールドの内容を変更できないようにしま...

UbuntuにProtobuf 3をインストールするための詳細なチュートリアル

いつインストールするかprotoc コマンドを使用しても Protoc が見つからない場合は、インス...