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: 持続可能な開発で業界をリード
モノのインターネット(IoT)は今や私たちの周りに溢れています。数百万台の Amazon Alexa...
2014年、インターネットに関する記事は「ナンセンス」で溢れていましたが、いずれにしても、もうすぐ一...
ブランディングとなると、多くのウェブマスターやウェブサイト運営者は、これは自分にとっては遠い話で、ブ...
最近、多くのウェブマスターが、自分のウェブサイトのインクルード数が一夜にして解放前のレベルに戻ったと...
tmhhost は現在、春学期プロモーションを実施しており、これには米国 cera データセンターの...
前回、徐国祥氏の「QQ空間の分析はBaiduのキーワードのランキング付けに使用できるか?」という記事...
月収10万元の起業の夢を実現するミニプログラム起業支援プランインターネットマーケティングは急速に成長...
長年にわたる情報構築を経て、中国のデジタル政府業務は新たな段階に入った。国務院弁公庁が昨年発表した「...
検索エンジン最適化(SEO)は、ウェブサイトのプロモーション活動において非常に重要な基本的な作業です...
IT 業界の業界団体 CompTIA によれば、現在、企業の 80% が、オンデマンドで起動できる仮...
少し前、投資界の人物が、総合垂直ペットウェブサイトBoqi.comがゴールドマン・サックス(159....
Baidu の有料ランキングは、キーワードの形で Baidu 検索エンジン プラットフォーム上で企業...
先ほど、SEO に関する FAQ の 3 つの側面、 「新しいサイトが含まれないのはなぜか」、「 W...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています毎年恒例の...
デジタルトランスフォーメーションの加速に伴い、ビジネスの革新と価値向上を実現するために、クラウドコン...