このページの本文へ

前へ 1 2 次へ

Windows Info 第248回

Windows 10にはコンテナーがいっぱい

2020年11月01日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 「コンテナーがいっぱい」と聞くと、なんだか港の風景を思い出してしまうが、Windowsにもコンテナーが複数ある。コンテナーとは、アプリケーションの独立した実行環境とそこで動作するソフトウェアや設定などをファイル化して実行させるもの。あらかじめコンテナーを作っておけば、あとはそれを組み合わせてシステムを構築できるわけだ。

 仮想マシン環境に似ているが、コンテナー自体にはOSは含まれないし、必ずしも仮想マシン支援機能を前提としているためでもない。そもそもコンテナーが普及した1つの理由は、仮想マシンにつきもののオーバーヘッドや長い起動時間、大量のメモリー消費といった問題がないため。コンテナーは、特定のハードウェアに縛られることなく実行でき、システムを複数のコンテナーで構築することも可能であり、このとき仮想マシンに比べて実行オーバーヘッドの低いコンテナーは魅力的だったのだ

Windows 10Xにはさらに2つの「コンテナー」が追加される。MicrosoftエミュレーターによるWindows 10Xのプレビュー版より

Windowsにもコンテナーの機能が取り込まれた

 そんなコンテナーブームを受けて、MicrosoftもWindowsにコンテナー技術を持ち込んだ。これを「Windowsコンテナー」(あるいはWindows Container On Windows、WCOW)という。このWindowsコンテナーには大きく2種類あり、1つは「Windowsプロセス分離」(かつてはWindows Server コンテナーといった)、もう1つは「Hyper-V分離」(Hyper-Vコンテナーとも)である。

 このWindowsコンテナー、当初はPowerShellベースの管理コマンドを利用する予定だったが、Dockerと提携し、Dockerコマンドを取り込むことにした。これがWindowsにおける「Docker EE for Windows Server」である。

 しかし、すでに世の中はLinux上のコンテナーが普及しており、Linuxコンテナーをそのまま使いたいという要望が強かったようだ。これに対応して、Microsoftが作ったのが「Windows Linuxコンテナー」(Linux Container On Windows、LCOW)である。これは、Hyper-Vで専用のLinux仮想マシン(Moby VMと呼ばれている)を動かし、そこでLinuxコンテナーを動作させるもの。仮想マシンを使うため、なにか無理矢理感がないわけではない。

 その後、Docker自身がWindows用のDocker for Windowsをリリースする。Docker EE for Windows Serverでは、LCOWは実験的機能として提供されたが、Docker for Windowsでは正式に対応となった。というか、そもそもDockerのコンテナーはLinux用なので、当たり前といえば当たり前のこと。ただし、Docker for Windowsでは、WindowsコンテナーとLinuxコンテナーは同時に利用することはできず、切り替えてどちらかしか使えない。コマンドは同じでも、管理方法などがかなり違うためだ。

 同じDockerで2つの実行環境(WindowsとLinux)を扱うことは、かなりユーザーを混乱させた。どちらもDockerであり、どれもコンテナーだからだ。Linuxのコンテナーになれた人には、WindowsのSQLサーバーがDocker Hub(コンテナーが登録されているリポジトリ)にあることに奇妙な感じを抱くし、Windows側のユーザーも、Linuxの環境に違和感を感じた。コンテナーもいっぱいあれば、Dockerもいっぱいあったからだ。

WSL2がWindowsにおけるコンテナーを変えた

 そこに登場したのがWSL2だ。Windows内でLinuxを動かす「Windows Subsystem for Linux(WSL)」は、当初は、Linuxカーネルをエミュレーションする形で実現されたが、後継となるWSL2では“本物”のLinuxカーネルを導入した。これにより、WSL2では、オリジナルのDockerがそのまま動くようになった。しかも、仮想マシンよりも起動時間が短く、システム負荷も小さい。

 このWSL2に対応して作られたのがDocker Desktopである。Docker Desktopは、Docker for Windowsの後継として作られ、WSL2を使って、Dockerネイティブのコンテナーを動作させる。ただし、制御コマンドや管理ツールは、Windows側で動作する。このあたりをまとめたのが、以下の表だ。

 WindowsにはDockerとコンテナーがいっぱいある。とりあえず、今からWindowsユーザーが使うなら、Docker Desktopだろう。Windows 10ではWindowsコンテナーを使う必要はあまりないが、Node.jsなんかをちょっと試してみたい、WordPressをカスタマイズしたいけど稼働中のブログは止めたくないのでコンテナーで試してみる、といった用途になら十分利用できる。Docker DesktopのWSL2環境は、専用のディストリビューションを使うので、WSL2ディストリビューションの環境も変更しない。ちょっと試して、綺麗さっぱり消すこともできる。

 ただ今のところ、Windows Insider ProgramのDev Channelで公開されているWSL2ではGPU機能が利用ができない。これは、GPUを使う場合、Linux(WSL2)側で動作するDockerをNVIDIAのモジュールでカスタマイズする必要があるからだ。

 現在のDocker Desktopでは、専用のWSL2環境を使う関係で、ユーザーがWSL2側のDockerをカスタマイズすることができない。WSL2のGPU機能が正式機能として取り込まれる頃には、なんとかしてくれるのではないかと思っている。もっとも、そうならないとしてもWSL2でネイティブのDockerコマンドを使えば、GPUもちゃんと動くわけで、違いは管理ツールがWindowsの上にあるのかWSL2の上にあるのかといった違いのみだ。

前へ 1 2 次へ

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,249
2
【Amazon.co.jp限定】Meta Quest 3S(128GB)購入で『Gorilla Tag』ゲームを無料プレゼント|VRヘッドセット|メモリが33%増加 | 2倍のグラフィック処理性能 |ワイヤレスのVR体験
【Amazon.co.jp限定】Meta Quest 3S(128GB)購入で『Gorilla Tag』ゲームを無料プレゼント|VRヘッドセット|メモリが33%増加 | 2倍のグラフィック処理性能 |ワイヤレスのVR体験
¥50,490
3
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,290
4
ソニー ゲーミングイヤホン INZONE Buds:WF-G700N Fnatic監修/ワイヤレス / 低遅延2.4GHzワイヤレス接続 USBType-Cトランシーバー同梱/LE Audio対応/アクティブノイズキャンセリング/立体音響 / 最大約24時間バッテリー / 急速充電/マイク付き / PS5 スマホ PC Switch グラスパープル
ソニー ゲーミングイヤホン INZONE Buds:WF-G700N Fnatic監修/ワイヤレス / 低遅延2.4GHzワイヤレス接続 USBType-Cトランシーバー同梱/LE Audio対応/アクティブノイズキャンセリング/立体音響 / 最大約24時間バッテリー / 急速充電/マイク付き / PS5 スマホ PC Switch グラスパープル
¥20,800
5
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥640
6
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
7
Kindle Paperwhite シグニチャーエディション (32GB) 7インチディスプレイ、明るさ自動調整、色調調節ライト、12週間持続バッテリー、広告なし、メタリックブラック
Kindle Paperwhite シグニチャーエディション (32GB) 7インチディスプレイ、明るさ自動調整、色調調節ライト、12週間持続バッテリー、広告なし、メタリックブラック
¥23,980
8
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
¥18,980
9
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ブラック, 1m)
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ブラック, 1m)
¥1,680
10
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,590

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン