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

推薦する

Docker がデータベースのデプロイに適さない 7 つの理由のまとめ

Docker は過去 2 年間で非常に人気が高まっています。開発者はすべてのアプリケーションとソフト...

Vueシングルページアプリケーションの事前レンダリング方法の例

目次序文vue-cli 2.0 バージョンvue-cli 3.0 バージョン要約する序文vue-cl...

Linux ディスク領域解放問題の概要

IDC のサーバーの /partition 使用率がいっぱいです。 100% に到達しました!確認し...

Vue3ライフサイクル関数とメソッドの詳細な説明

1. 概要いわゆるライフサイクル機能とは、特定の条件下で自動的にトリガーされる機能です。 2. VU...

Linux/CentOS システムでネットワーク時間を同期する 2 つの方法の詳細な説明

ハードウェア上の理由により、機械は標準時間にある程度追いつけない場合があり、その誤差は 1 か月で数...

CSS3 グラデーション背景の互換性の問題

グラデーションの背景色を作成するときは、 linear-gradient() 関数を使用して線形グラ...

MySQL での一時テーブルの使用例

ここ2日間ちょっと忙しくて、公式アカウントも数日更新が止まってしまいました。その結果、何人かの読者か...

Reactドラッグフックを実装するための100行以上のコード

序文ソースコードは合計で 100 行強しかありません。これを読めば、react-dnd などの成熟し...

操作例 MySQL ショートリンク

MySQL ショートリンクの設定方法1. mysql 接続番号ステートメントコマンドを確認します。 ...

Nginx tp3.2.3 404 問題の解決

最近、Apache を nginx に変更しました。TP プロジェクトを実行に移すと、404 エラー...

Ubuntuのpython3でvenvを使用して仮想環境を作成する

1. 仮想環境はプロジェクトに従い、単一のプロジェクト用の仮想環境を作成します(Python 3.4...

カスタム Docker イメージを作成するための Dockerfile の詳細な説明と CMD と ENTRYPOINT 命令の比較

1. 概要Docker イメージを作成するには、次の 3 つの方法があります。 Docker コミッ...

nginx設定ファイルの解釈の詳細な説明

nginx 設定ファイルは主に 4 つの部分に分かれています。 main{#(グローバル設定) ht...

Dockerfile echoは、指定されたファイル内の複数行のテキストを実装する方法を指定します。

Dockerfile内の指定されたファイルに複数の行を追加します。echoの後の「$」記号に注意し...

docker の run/cmd/entrypoint の違いの詳細な説明

Dockerfile では、run、cmd、entrypoint はすべてコマンドを実行するために使...