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: 持続可能な開発で業界をリード
検索エンジンの継続的な開発とアップグレードにより、検索エンジンから送り出されるスパイダーはますます賢...
ウェブサイトがキーワードランキングで上位を獲得したい場合は、主要な検索エンジンが何を好むかを理解する...
陸松松のブログや牟長青のブログから、大小の地名+SEOブログまで、独立系ブログは皆さんもよくご存知だ...
業界関係者は、今回の是正措置はWeChatのユーザー活動などの指標に影響を及ぼすとみているが、WeC...
こんにちは、みんな。クラウドコンピューティング、クラウドサービス、クラウドプラットフォームなどの登場...
インターネットには国境の概念はありません。インターネットにアクセスできる世界中のどの国からでも、あら...
Baiduのウェブサイトの包含とKステーションのルールに関する深い理解はじめに:ネットユーザーから、...
オープンソース技術は、x86 アーキテクチャ オペレーティング システム Linux、Unix オペ...
新華網、北京、5月2日 - 記者は今日、国家インターネット情報局から、インターネットを利用してデマを...
onetechcloud から良いニュースが届きました: (1) すべての VPS が月払いで 10...
Raksmart データセンターは、感謝祭とブラックフライデーに以下のプロモーションを実施しています...
サイト クラスターの主な目的は、検索エンジンを通じて大量のトラフィックを獲得したり、メイン サイトへ...
Raksmart のクラウド サーバー (従来の VPS ではありません) は現在、全面的に 30%...
SEO、この記事を読んでいるあなたはSEOにとても詳しいと思います。SEOが2012年に入ったとき、...
12月22日午前、昨晩の百度沸点祝賀会で、百度の2013年検索ランキングが発表された。「天気」という...