13个版本 (重大更新)
新版本 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.1.0 | 2023年11月23日 |
#99 在 WebAssembly
每月153 次下载
1MB
1K SLoC
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程序示例。
$ 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
依赖关系
~44–63MB
~1M SLoC