LinuxWSLを使い始めるうちに、Windowsコンテナを調べ始めた。Windowsにコンテナ技術が搭載された。WindowsでもLinuxでもゲストとして動作させることができるのだが、Microsoftはその運用管理ツールを提供していない。運用管理にはDockerを用いることになっている。そこでDockerについて調べ始めたところ、Dockerコンテナをエクスポートして、それをWSLへインポートできることを知った。それを試してみたところ、本当にWSL上で動作しているのだ。これを確認したときは、一周回って、螺旋を一段上がったような気分だった。Storeでは提供されていないディストリビューションでも、WSL上に環境構築することができる。Hubで公式イメージが配布されている、archlinux、alpine、CentOSのようなディストリビューションだ。環境、前提条件などこの投稿では、次の環境を用いてる。(63152)以降の記述内容は、すでにDockerとWSL2が導入され、稼働済みであることを前提にしている。OSとしているが、インポートまでの操作は、どのディストリビューションでも共通に機能するはずだ。OSまた記述内容の設定は、参照資料が指し示すものとは異なる場合がある。Integrationを利用していない。Storeから導入したディストリビューションからの操作も行っていない。StoreからUbuntuなどをインストールする必要もない。IntegrationDockerコンテナからのファイル・システム取得、tarファイルのエクスポートここでは次の手順を経る。全ての操作はコマンドだけで完結できるし、一部ではGUI操作を取り入れても良い。出力するtarファイル名は任意でよい。angry_bhabha🔎出力WSLへのtarファイルのインポート出力したtarファイルを、WSLへインポートする。インポートの前に、WSL上でのディストリビューション名、ディストリビューションの導入フォルダを特定しておく。ここでは、次のように定義している。Store以外から任意のディストリビューションを導入する場合、導入イメージの初期化やアンインストールは、全てWSLコマンドで行うしかない。想定しているわけでもなく、作って壊す管理の容易さを優先して、ここではDドライブにインストールしている。LinuxがディストリビューションClearとして、WSLへ登録される。OSの初期導入作業ここからの作業はWSLのディストリビューション上で行う。作業環境として引き続きWSLを利用しても良いし、目的のディストリビューションに繋がりさえすれば、好みのターミナルを用いても良い。Storeから導入するディストリビューションと同様に、導入直後のディストリビューションは、ユーザーなどが定義されていない。OSの場合はsudoすら導入されていない。OSではパッケージ群のことをバンドル(bundle)と呼ぶ。これは依存関係のあるパッケージ一式をまとめたもので、swupdを用いて管理する。ここでの作業は次の手順を経る。新規ユーザーの作成wsl.confの作成sudoの導入ディストリビューションからログオフwsl.confには、ディストリビューション接続時のデフォルト・ユーザーを定義する。次回接続時からは、指定ユーザーで自動的にログインできる。環境を作って壊すたびに、上記作業を繰り返すのは効率が悪い。ある程度作業を進めた状態のディストリビューションを保存しておき、再利用すれば、効率が良い。最低限の環境が整った状態で、WSLディストリビューションをエクスポートしておく。今後は、このWSLから出力したtarファイルをインポートすることで、最低限の環境が整ったディストリビューションを手間なく用意することができる。E:\WSL\clearlinux.tarバンドルについての詳細は、投稿末尾の資料を参照してほしい。ここでは、典型的なものを2つ挙げておく。Linuxの標準デスクトップ(GNOME)を立ち上げたところだ。TOGAFTumblrはてなブログをはじめよう!espio999さんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。