Docker DesktopとWSL2をベースとしたデュアルシステムのDocker環境を構築

説明する

Docker Desktop : Docker のデスクトップ バージョン、または Windows システム上で実行される Docker サービスとして理解できます。
WSL2 : Windows 上のツールとして理解でき、WSL2 を通じて Linux サブシステムを Windows 上で実行できます。

Docker DesktopとWSL2により構築される二重系Docker環境は、Windowsサーバー上でWindowsとLinuxの2種類のコンテナを同時に実行することができ、同時にサーバー上の物理リソースをLinuxから直接呼び出すことができます。システムおよびコンテナー (例: 物理グラフィックス カード)。
この方法で構築されたデュアルシステム Docker 環境はリソースを節約し、Linux 仮想マシンをインストールするために仮想化ソフトウェアを使用する必要がありません。
WSL2 も仮想化によって動作するサブシステムですが、Windows に付属の仮想マシン ツールを使用します。
WSL1 と WSL2 は WSL の 2 つの現在のバージョンであり、それらの比較は次のとおりです (WSL 2 は Windows 11 または Windows 10 バージョン 1903、ビルド 18362 以降でのみ使用できることに注意してください)。

ここに画像の説明を挿入します

環境

必要な環境:
1. 仮想化が有効になっている物理マシンである必要があります;
2. インストールされている Windows システムは、Hyper-v、Windows 用 Linux サブシステム、および仮想マシン プラットフォーム機能を開くことをサポートしている必要があります;
私のインストール環境:オペレーティング システムの内部バージョン
Windows 10 Professional がインストールされた Huawei ラップトップの
システムは 19045.2965
、Linux システムは CentOS 7.9 19011 です。

インストール

WSL2サービスを開始する

1. [コントロール パネル] > [プログラム] > [プログラムと機能] > [Windows 機能の起動とインストール] を開き、Hyper-V、Windows 用 Linux サブシステム、および仮想マシン プラットフォームを確認し、プロンプトに従ってコンピューターを再起動します。
画像

2. 再起動後、PowerShell を開き、次のコマンドを実行して WSL2 に切り替えます。

wsl --set-default-version 2

成功した復帰は以下の通り

有关与 WSL 2 的主要区别的信息,请访问 https://aka.ms/wsl2
操作成功完成。

CentOS システムをインストールする

1. CentOS7 は正式に提供されていません。以下のウェアハウスからダウンロードできます。ダウンロードしたいバージョンを選択するか、他の CentOS バージョンを使用することもできます。

「CentOS7.zip」をダウンロードするだけです。
ここに画像の説明を挿入します
2. ダウンロードが完了したら、2 つのファイルを解凍します。このとき、どのディレクトリに置くかに注意してください。ext4.vhdx 仮想ディスクは、対応するディレクトリに作成されます。 C ドライブ。このファイルは時間の経過とともに非常に大きくなります。

  • CentOS7.exe
  • rootfs.tar.gz

ここに画像の説明を挿入します
3. ダブルクリックしてCentOS7.exeインストールします。最初のインストール中にエラーが報告される場合があります。最初にカーネルをアップグレードする必要があります。wsl_update_x64.msiファイルをダウンロードしてインストールするだけです。

ここに画像の説明を挿入します

4. PowerShell を開き、次のコマンドを実行して CentOS のステータスを表示します。

  • 通常はCentOS7までしか行けないのですが、docker-desktopをインストールした結果がこちらです。

ここに画像の説明を挿入します

  • wsl を実行して CentOS7 システムに入ります。デフォルトでは CentOS7 に入ります。wsl -d を使用して、入る必要があるシステムに切り替えます。
    ここに画像の説明を挿入します

Docker デスクトップをインストールする

1. まず、公式 Web サイトにアクセスして、インストール パッケージをダウンロードしましょう。

  • https://www.docker.com/products/docker-desktop/

ここに画像の説明を挿入します

2. インストールを開始します。次の手順に注意してください。
ここに画像の説明を挿入します

ここに画像の説明を挿入します

3. インストールが完了するまで待ち、docker-desktop を開いて CentOS7 システムを有効にします。
ここに画像の説明を挿入します

4. wsl -l -v コマンドを実行すると、3 つのサブシステムが実行されていることがわかります。

  • CentOS7 Linux システムサービス
  • docker-desktop-data docker-desktop データ サービス
  • docker-desktop docker-desktop サービス
    ここに画像の説明を挿入します

5. CentOS7 に入り、docker version を実行すると、CentOS7 に docker サービスがインストールされ、docker-desktop バージョンと一致していることがわかります。
ここに画像の説明を挿入します

6. この時点で、デュアルシステム Docker 環境がインストールされているので、Linux に直接入力してコンテナを実行することも、docker-desktop 経由でコンテナを実行することもできます。
システム間のファイル転送は直接コピーでき、コンテナが開いたポートも物理マシンにマッピングされます。
ここに画像の説明を挿入します
ここに画像の説明を挿入します

他の

他のディストリビューションをインストールする

オンライン配布バージョンを表示するには、次のコマンドを使用します。

wsl --list --online
以下是可安装的有效分发的列表。
请使用“wsl --install -d <分发>”安装。

NAME                                   FRIENDLY NAME
Ubuntu                                 Ubuntu
Debian                                 Debian GNU/Linux
kali-linux                             Kali Linux Rolling
Ubuntu-18.04                           Ubuntu 18.04 LTS
Ubuntu-20.04                           Ubuntu 20.04 LTS
Ubuntu-22.04                           Ubuntu 22.04 LTS
OracleLinux_8_5                        Oracle Linux 8.5
OracleLinux_7_9                        Oracle Linux 7.9
SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
openSUSE-Leap-15.4                     openSUSE Leap 15.4
openSUSE-Tumbleweed                    openSUSE Tumbleweed

たとえば、Ubuntu-22.04 をインストールするには、次のコマンドを使用するだけで、対応するディストリビューションが自動的にダウンロードされ、インストールされます。

wsl --install -d Ubuntu-22.04
正在安装: Ubuntu 22.04 LTS
[==========                18.0%

このインストールの欠点は、C ドライブにのみインストールできることです。移行する必要がある場合は、以下の手順を参照してください。インストールが完了すると、2 つのディストリビューションがあることがわかります。

wsl -l
适用于 Linux 的 Windows 子系统分发版:
CentOS7 (默认)
Ubuntu-22.04

インストールが完了した後、root ユーザーは使用できません。ユーザーが既に存在することを確認するメッセージが表示されます。次のコマンドを使用して手動でユーザーを root に調整できます。特殊なシンボルは慎重に削除してください。たとえば、Ubuntu を削除した後は、 22.04、Ubuntu2204になります。

Ubuntu2204 config --default-user root

デフォルト以外の新しいバージョンを入力するには同じコマンドが使用されます。たとえば、Ubuntu2204 では、Enter キーを押してターミナルに入ります。

WSLコマンドの使用法

# 启动
wsl

# 关闭wsl
wsl --shutdown

# 查看状态
wsl -l -v

# 注销
wsl --unregister CentOS7

Docker-Desktop ストレージ パスの変更

注: デフォルトでは、Docker-desktop によって初期化された 2 つの WSL サブシステムは、C ドライブのスペースを占有することを避けるために C ドライブの下に保存されるため、ストレージ パスを変更する必要があります。

  • docker-desktop: プログラムを保存します
  • docker-desktop-data: 保存されたイメージ

docker-desktopを閉じた状態で操作を行ってください。

wsl コマンドを使用してこれら 2 つのサブシステムを移行します。

  • バックアップコマンド
wsl --export docker-desktop docker-desktop.tar
wsl --export docker-desktop-data docker-desktop-data.tar
  • 削除コマンド
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
  • インポートコマンド
wsl --import docker-desktop D:\docker\docker-desktop docker-desktop.tar
wsl --import docker-desktop-data D:\docker\docker-desktop-data docker-desktop-data.tar

注: 2 つのサブシステム ファイルが使用するディレクトリを同じディレクトリにすることはできません。上記の操作を完了し、docker-desktop を起動してイメージ ファイルをダウンロードしても、イメージ ファイルは C ドライブに保存されません。

おすすめ

転載: blog.csdn.net/weixin_41166785/article/details/130989061
おすすめ