GNU/Linux >> Linux の 問題 >  >> Linux

Linuxを使用してWindowsでpodmanを起動して実行する

Linux用のWindowsサブシステムの2番目のイテレーションであるWSL2を使用すると、仮想マシン(VM)のオーバーヘッドなしで、Windows上でネイティブにLinux環境を実行できます。 Windowsともうまく統合され、Linuxで使い慣れているほとんどのコマンドラインツール、ユーティリティ、およびアプリケーションにアクセスできます。

このガイドでは、WSL2ゲストがpodmanを実行できるようにする方法を説明します。 、skopeo 、またはbuildah 選択したLinuxディストリビューション(Microsoftストアから入手可能)を使用して、Windows内からコマンドを実行します。 Fedora LinuxホストOSの出発点から来て、私はWindows内から最も使い慣れたツールを有効にして使用する方法に興味がありました。

前提条件:WSL 2

WSL 2をインストールするには、WSLインストールページに移動します。

Powershellを使用して、WSL2がデフォルトで有効になっていることを確認します。

PS> wsl –set-default-version 2

WSL1とWSL2の主な違いについては、WSLのドキュメントを参照してください。

Linux用のWindowsサブシステムは長い道のりを歩んできました。 Microsoftは、ホストWindowsOSとゲストLinuxオペレーティングシステムの分離を事実上見えなくするために懸命に取り組んできました。各システムのカーネルにある特別なドライバーにより、さまざまなシェルとコマンドウィンドウ間でコマンドを簡単に実行し、ファイルシステムの相互アクセスを可能にします。

次のコマンドを使用してWSL2カーネルを正しく使用していることを確認し、任意のゲストで出力できます。

$ uname -a
Linux BLD 5.10.16.3-microsoft.standard-WSL2 #1 SMP Fri Apr 2 22:23:49
UTC 2021 x86_64 x86_64 GNU/Linux

WSL 1ゲストは、カーネルバージョンを4.14または同様のものとして報告します。

ゲストに少し手を加えるだけで、さまざまなホームディレクトリファイル(.aws、.sh、.configなど)のシンボリックリンクなど、統合をさらにシームレスにすることができます。 $HOMEディレクトリからこれを実現する方法のヒントがあります。

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

Linuxディストリビューションをインストールするには、Microsoftストアでお気に入りを見つけてください。

この記事では、Fedoraを使用していますが、他のディストリビューションを試すことができます。 Podmanはディストリビューション間でうまく機能するため、最も使い慣れたディストリビューションを使用できます。いくつかのマイナーな構成調整が必要になる場合がありますが、それらは通常、ディストリビューションおよびpodmanのドキュメントに記載されています。 Fedoraを選んだのは、最新のpodmanを機能させるために追加のセットアップを必要としないディストリビューションだったからです。

最初の起動時に、VMと関連テクノロジーがインストールされます。最初のユーザー(sudoアクセスを取得)のパスワードを選択するように求められます。

podmanをインストール

Linuxディストリビューションをインストールしてユーザーで構成したら、通常どおりpodmanをインストールできます。

$ sudo dnf install podman

しばらくすると、podmanがインストールされ、準備が整います。すべてが期待どおりに機能していることを確認できます:

$ podman info
host:
  arch: amd64
  buildahVersion: 1.22.3
  cgroupControllers: []
  cgroupManager: cgroupfs
  cgroupVersion: v1
[...]
version:
  APIVersion: 3.3.1
  OsArch: linux/amd64
  Version: 3.3.1

そこから、通常どおりに画像を作成してpodmanを使用できます。

WSL統合のおかげで、podmanはPowerShellまたはコマンドプロンプトからもアクセスおよび使用できます:

buildahのインストールと使用 およびskopeo コマンドはまったく同じプロセスです。

Busyboxテスト

podmanを確認するための簡単なテストとして 職場では、Busyboxコンテナをプルして実行できます。 BusyBoxはオープンソース(GPL)プロジェクトであり、ls, mv, ln, mkdir, more, ps, gzip, bzip2, tarを含む400近くの一般的なコマンドの簡単な実装を提供します。 、およびgrep 、これにより、コンテナやこのような単純なテストに適した最小限の環境になります。

まず、デフォルトのイメージリポジトリでBusyboxコンテナを検索します。これは、LinuxターミナルまたはPowershellのいずれかで実行できます。

$ podman検索busyboxの
INDEX名称説明
docker.io docker.io/library/busybox Busyboxのベースイメージ
docker.io docker.io/radial/busyboxplusフルチェーンを
$ podman search busybox
INDEX       NAME                             DESCRIPTION                    
docker.io   docker.io/library/busybox        Busybox base image                  
docker.io   docker.io/radial/busyboxplus     Full-chain...
docker.io   docker.io/yauritux/busybox-curl  Busybox with CURL

試したいものを実行します:

$ podman run -it docker.io/library/busybox
/ #

コンテナを使用し、いくつかのコマンドを実行してすべてが期待どおりに機能することを確認してから、終了のままにしておくことができます。 コマンド。

Linuxコンテナ

  • Linuxコンテナとは何ですか?
  • コンテナ用語の概要
  • ダウンロード:Containers Primer
  • Kubernetesオペレーター:コンテナオーケストレーションプラットフォームの自動化
  • eBook:クラウドネイティブアプリを設計するためのKubernetesパターン
  • Kubernetesとは何ですか?

はじめに

現在のLinuxディストリビューション、podman、およびWindowsサブシステムがここでいかに簡単に連携しているかに驚いたことを認めます。 WindowsのコンテナツールとLinuxとの統合に多くの素晴らしい仕事が費やされたことは明らかです。このガイドが、他の人がこの同じ出発点に簡単に到達し、生産性を高め始めるのに役立つことを願っています。

ボリュームの操作、ゲストとホスト間のネットワークサービスの公開、それらのコンテナーでのLinux機能の公開など、詳細なフォローアップには多くの優れた候補があります。非常に多くのツールが利用可能であるため、コミュニティがそれらを掘り下げる作業を短時間で行うことができると確信しています。


Linux
  1. Windows10およびWSL2でLinuxファイルシステムにアクセスする方法

  2. Linux から Windows DLL を使用する

  3. Linux で ioctl を使用して IPv6 アドレスを取得する

  1. Linux で kbhit() と getch() を使用する

  2. bash を使用して Linux でサブネット マスクを取得する

  3. Windowsでqemuを使用して仮想Linuxを実行する

  1. Python を使用してマウス デルタを取得します。 (Linux の場合)

  2. PuTTY を使用して Windows から Linux で実行するコマンドを自動化する

  3. Linux で開いているウィンドウのリストを取得する