#wasi #daemon #docker #run-time #wacker

app wacker-daemon

Wacker守护程序命令行界面

8个重大版本发布

0.10.0 2024年8月2日
0.9.0 2024年5月23日
0.8.0 2024年5月10日
0.4.0 2024年3月21日
0.2.1 2023年12月20日

105WebAssembly

Download history • Rust 包仓库 162/week @ 2024-04-18 • Rust 包仓库 211/week @ 2024-04-25 • Rust 包仓库 2/week @ 2024-05-02 • Rust 包仓库 153/week @ 2024-05-09 • Rust 包仓库 2/week @ 2024-05-16 • Rust 包仓库 160/week @ 2024-05-23 • Rust 包仓库 1/week @ 2024-06-06 • Rust 包仓库 1/week @ 2024-07-04 • Rust 包仓库 124/week @ 2024-08-01 • Rust 包仓库

每月下载量124次

Apache-2.0

1MB
921

wacker

像Docker一样,但针对WASM。

安装

您可以直接从发布页面下载二进制文件。

或者您可以使用cargo进行安装

cargo install wacker-daemon
cargo install wacker-cli

入门

启动wacker守护程序

$ wackerd
[2023-11-22 07:25:31 INFO wackerd] server listening on "/Users/user/.wacker/wacker.sock"

运行WebAssembly程序

$ wacker run hello.wasm
$ wacker run time.wasm

其中 hello.wasm 是一个简单的WASM程序,它打印出Hello, world!并退出,而 time.wasm 是一个长时间运行的程序,它不断打印出当前时间。

您可以在https://github.com/wacker-dev/wasi-examples找到更多WASI程序示例。

提供HTTP WebAssembly程序

$ wacker serve hello_wasi_http.wasm --addr 127.0.0.1:8081

路径可以是本地文件路径或URL,例如

$ wacker run https://raw.githubusercontent.com/wacker-dev/wacker/main/wacker/tests/wasm/hello.wasm

列出正在运行的程序

$ wacker list
ID                        PATH                   STATUS     ADDRESS
hello-w0AqXnf             hello.wasm             Finished
time-xhQVmjU              time.wasm              Running
hello_wasi_http-luf1vz6   hello_wasi_http.wasm   Running    127.0.0.1:8081

获取日志

$ wacker logs hello-w0AqXnf
Hello, world!

$ wacker logs -f --tail 5 time-xhQVmjU
current time: 2023-11-22 07:42:34
current time: 2023-11-22 07:42:35
current time: 2023-11-22 07:42:36
current time: 2023-11-22 07:42:37
current time: 2023-11-22 07:42:38

您还可以停止/重启/删除程序

$ wacker stop time-xhQVmjU
$ wacker restart time-xhQVmjU
$ wacker delete/rm time-xhQVmjU

wacker cli用法

$ wacker -h
wacker client

Usage: wacker <COMMAND>

Commands:
  run      Runs a WebAssembly program
  serve    Serves an HTTP WebAssembly program
  list     Lists running WebAssembly programs [aliases: ps]
  stop     Stops WebAssembly programs
  restart  Restarts WebAssembly programs
  delete   Deletes WebAssembly programs [aliases: rm]
  logs     Fetches logs of a program [aliases: log]
  help     Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

依赖项

~43–65MB
~1M SLoC