DockerコンテナイメージをWebAssemblyに変換、Webブラウザ上での実行も可能にする「container2wasm」バージョン0.3が登場

2023年6月13日

DockerコンテナイメージをWebAssemblyに変換し、WebAssemblyランタイム上で実行可能にするツール「container2wasm」のバージョン0.3がリリースされました。

開発者はNTTの徳永航平氏。container2wasmは実験的なツールとしてオープンソースで公開されています。

バージョン0.3では、RISC-Vアーキテクチャに加えてx86_64アーキテクチャのDockerコンテナイメージにも対応したことが大きな変更点です。

実際にDockerコンテナイメージをWebAssemblyに変換したものをWebブラウザ上で実行できるデモページも用意されました。

fig

下記はインテルの64ビットプロセッサを搭載したWindowsマシンのMicrosoft Edgeブラウザでデモページを開き、Vimのデモを起動したところです。

Webブラウザ上でターミナル画面が開き、Vimが起動しました。

fig

DockerコンテナのエコシステムをWebAssemblyで活用

container2wasmは、x86_64アーキテクチャのイメージにはエミュレータのBochsを、RISC-VのイメージにはエミュレータのTinyEMUを用いてWebAssemblyに変換していると説明されています。

下記が実際に変換するときのコマンドの例。「c2w」がコマンド名、ubuntu:22.04がDockerコンテナのイメージ、out.wasmが出力されるWebAssemblyバイナリの名前です。

$ c2w ubuntu:22.04 out.wasm

変換後のWebAssemblyバイナリはWASI(WebAssembly System Interface)に対応しており、WASI対応のWebAssemblyランタイムでも、Webブラウザでも実行可能となっています。

DockerコンテナイメージはLinuxとその上で動くさまざまなアプリケーションが豊富に揃っているため、これがそのままWebAssemblyに変換して実行できることが実用化されれば、WebAssemblyのエコシステムに大きなインパクトを与えそうです。

このcontainer2wasmの開発動機には、まさにそのようなことが示されていました。下記はGitHubのReadmeからの引用です。

Though more and more programming languages start to support WASM, it's not easy to run the existing programs on WASM. This sometimes requires re-implementing and re-compiling them and costs extra time for development. This is a PoC converter tries to solve it by enabling running unmodified containers on WASM.

WASMをサポートするプログラミング言語は増えてきていますが、既存のプログラムをWASMで動かすのは容易ではありません。再実装や再コンパイルが必要になることもあり、開発に時間がかかってしまいます。このPoCコンバータは、コンテナを変更することなくWASMで実行できるようにすることで、これを解決しようとするものです。

現時点ではまだ実験的プロジェクトの位置づけではありますが、今後の展開が楽しみな取り組みと言えます。

Tags: Docker WebAssembly コンテナ型仮想化

このエントリーをはてなブックマークに追加
ツイート
follow us in feedly





タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本