Docker+Wasm のテクニカル プレビューが利用可能になりました。 Wasm は最近大きな注目を集めていますが、この機能により、Wasm ランタイムをターゲットとするアプリケーションを迅速に構築することが容易になります。 このリリースの一環として、Docker がBytecode Alliance [1]の投票メンバーとして参加することも発表します。Bytecode Alliance は、WebAssembly や WebAssembly System Interface (WASI) などの標準に基づいた安全な新しいソフトウェア基盤の作成に取り組む非営利団体です。 Wasmとは何ですか?WebAssembly [2]はWasmとも呼ばれ、40以上の言語(Rust、C、C++、JavaScript、Golangなど)で書かれたアプリケーションコードをコンパイルし、サンドボックス環境で実行できる比較的新しい技術です。 初期のユースケースは主に、Figma、AutoCAD、Photoshop などのネイティブ コードを Web ブラウザーで実行することでした。実際、fastq.bio は、Web ベースの DNA 配列品質アナライザーを Wasm に変換したところ、速度が 20 倍向上しました。ディズニーは、Wasm 上に Disney+ アプリケーション開発キットを構築しました。ブラウザの利点は明らかです。 しかし、WebAssembly System Interface (WASI) のおかげで、Wasm はブラウザーを超えて急速に拡大しており、Vercel、Fastly、Shopify、Cloudflare などの企業がエッジでコードを実行するための Wasm の使用をサポートし、Fermyon はクラウドで Wasm マイクロサービスを実行するためのプラットフォームを構築しています。 なぜ Docker なのか?Docker の目標は、アプリケーション開発の複雑さを克服して、開発者がアイデアを現実のものにできるように支援することです。基盤となるテクノロジーに関係なく、アプリケーションの構築、共有、実行をより簡単に行えるように、私たちは努力しています。コンテナを誰もが利用できるようにすることで、開発者の生活を楽にする能力を証明し、最も人気のある開発者ツールとして認められました。 私たちはWasmをLinuxコンテナ[3]の補完的な技術と見ており、開発者はユースケースに応じてどちらの技術(または両方)を使用するかを選択できます。コミュニティが Wasm の可能性を探求する中、私たちは皆さんがご存知の使い慣れた経験とツールを使用して、Wasm アプリケーションの開発、構築、実行をより簡単に行えるように支援したいと考えています。 プレビューを入手するにはどうすればいいですか?自分で試してみる準備はできていますか?とても良い!しかし、それを行う前に、いくつか留意すべき点があります。
Docker Desktop のテクニカル プレビューはここからダウンロードできます。
何か制限はありますか?はい!これは初期のテクノロジー プレビュー リリースであり、できるだけスムーズなエクスペリエンスを実現するためにまだ取り組んでいますが、注意すべき点がいくつかあります。
使用まず、これはテクノロジー プレビューであるため、状況が急速に変化する可能性があるが、これが現時点での動作方法であることをお知らせする必要があります。
docker runを使用してWasmアプリケーションを起動します。プレビューをインストールしたら、次のコマンドを実行して Wasm サンプル アプリケーションを起動できます。 コンテナを起動して、wasm-example を起動します。 あまり馴染みのないパラメータがいくつかあることにお気づきかと思いますが、それが何をするのか説明しましょう。
イメージをプルした後、ランタイムはイメージの ENTRYPOINT を読み取って Wasm モジュールを見つけて抽出します。次に、モジュールは Wasm ランタイムにロードされ、ネットワークが起動して構成されます。これで、マシン上で Wasm アプリケーションが実行されるようになりました。 サンプル アプリケーションは、Hello world! を表示するシンプルな Web サーバーです。そして、そのデータを私たちに返します。正しく動作していることを確認するには、まずログを確認しましょう。 $ docker ログ wasm-example http://localhost:8080 を開くか、curl を使用すると、Hello world メッセージを取得できます。 $ カール ローカルホスト:8080 echo エンドポイントにデータを送信するには、curl コマンドを使用します。 $ curl localhost:8080/echo -d '{"message":"こんにちは"}' -H "コンテンツタイプ: application/json" アプリケーションを削除するには、他の Docker サービスと同じように削除します。 $ docker rm -f wasm-example 新しい統合により、Wasm アプリケーションを Linux コンテナと一緒に実行できるようになります (Compose を使用しても)。 Compose を使用して Wasm アプリケーションを起動する同様に、次の Compose ファイルに示すように、Docker Compose を使用して Wasm アプリケーションを実行することもできます。 サービス: 次に、以下のコマンドを使用してアプリケーションを起動します。 $ docker-compose を起動します Wasm でマルチサーバーアプリケーションを実行するネットワークは Linux コンテナと同じように機能し、Wasm アプリケーションを他のコンテナ化されたワークロード (データベースなど) と単一のアプリケーション スタック内で柔軟に組み合わせることができます。 次の例では、Wasm アプリケーションはコンテナ内で実行されている MariaDB データベースを利用します。
$ git クローン https://github.com/second-state/microservice-rust-mysql.git
$ cd マイクロサービス-rust-mysql 別のターミナルで、作成された Wasm イメージを確認できます。 $ docker イメージ イメージを検査すると、イメージに wasi/wasm32 プラットフォーム、オペレーティング システム、およびアーキテクチャの組み合わせが含まれているかどうかがわかります。 $ docker イメージ検査サーバー | grep -A 3 "アーキテクチャ"
Wasmモジュールの構築とプッシュ
ゼロから
$ docker buildx build --platform wasi/wasm32 -t username/hello-world 。 WasmとDockerの今後Wasm は、マルチスレッド、ガベージ コレクションなどをサポートする方法の検討を含め、急速に成長し、発展しています。開発者のフィードバック ループの短縮や実稼働への道筋など、まだ解決すべき問題が数多くあります。 参考リンク
参考文献[1]バイトコードアライアンス: https://bytecodealliance.org/. [2] WebAssembly: https://webassembly.org/. [3] Linuxコンテナの補完技術:https://www.docker.com/blog/why-containers-and-webassembly-work-well-together/. [4] macOS Apple Silicon: https://dockr.ly/3sf56vH. [5] macOS Intel: https://dockr.ly/3VF6uFB. [6] Windows AMD64: https://dockr.ly/3ShlsP0. [7] Linux Arm64 デブ: https://dockr.ly/3TDcjRV。 [8] Linux AMD64 デブ: https://dockr.ly/3TgpWH8。 [9] Linux AMD64 rpm: https://dockr.ly/3eG6Mvp. [10] Linux AMD64 tar: https://dockr.ly/3yUhdCk [11] WasmEdge: https://wasmedge.org/. [12]ロードマップ: https://github.com/docker/roadmap/issues/426. |
<<: IoT とエッジ コンピューティングの将来はどうなるのでしょうか?
>>: Amazon Web Services: 持続可能な開発で業界をリード
編集者注: この記事は、7 月 8 日に開催された #36 氪OpenDay#Beijing ステー...
記事ページはどのようにして 100 以上のトラフィックをもたらすのでしょうか? 記事ページはどのよう...
モバイルインターネットの時代において、オンラインマーケティングは市場発展の必然的な流れとなり、オンラ...
raksmart は、ダブルイレブンとブラックフライデー向けに VPS セール プロモーションを開始...
テンセントテクノロジーニュース4月6日:JD.comが鉄道チケット事業に参入した後、鉄道部運輸局は最...
検索エンジン最適化技術が発達するにつれて、ページの価値がランキングにおいてますます決定的になり、ウェ...
1. 羅永浩氏との独占インタビュー: 敗者は去ってエリートに仕えるべきだ。私たちは次の Apple ...
OpenVirtuals.com は、大容量ハード ドライブを備えた VPS をいくつか設定していま...
自動化された分析ワークフローは、企業がより多様な方法でデータを操作して予測を行うのに役立ちます。 O...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますマーケティ...
SEO 専門職に就く者として、私たちは検索エンジンの変化を常に観察し、問題に遭遇したときにそれを避け...
クラウドとインテリジェントの時代において、データ センター ネットワークは、クラウド サービスのシー...
すべてのウェブマスターにとって、ウェブサイト内部の最適化に加えて、外部リンク作業は間違いなくウェブサ...
今年、Banwagong はブラックフライデーのプロモーションも実施し、全商品が 10% オフになり...
SEO はウェブマスターにとって重要な教訓であり、多かれ少なかれこのような問題に遭遇することはわかっ...