29 个版本 (6 个破坏性)
0.7.0 | 2024年8月1日 |
---|---|
0.6.4 | 2024年5月25日 |
0.6.2 | 2024年3月31日 |
0.4.0 | 2023年11月21日 |
0.1.2 | 2022年7月23日 |
#53 in 命令行工具
每月388次下载
405KB
8K SLoC
oxker
使用 Rust 构建,大量使用 Rust,并重用 ratatui & Bollard
下载 & 安装
Cargo
在 crates.io 上发布,因此如果您已安装 cargo,只需运行
cargo install oxker
Docker
在 Docker Hub 和 ghcr.io 上发布,为 linux/amd64
、linux/arm64
和 linux/arm/v6
构建了镜像
通过 Docker Hub
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock:ro --pull=always mrjackwills/oxker
通过 ghcr.io
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock:ro --pull=always ghcr.io/mrjackwills/oxker
Nix
使用 nix flakes,可以直接运行 oxker
nix run nixpkgs#oxker
如果没有 flakes,您可以使用以下命令构建一个包含 oxker 的 shell
nix-shell -p oxker
AUR
paru -S oxker
预构建
查看 预构建的二进制文件
或,下载 & 安装 (x86_64 一行脚本)
wget https://www.github.com/mrjackwills/oxker/releases/latest/download/oxker_linux_x86_64.tar.gz &&
tar xzvf oxker_linux_x86_64.tar.gz oxker &&
install -Dm 755 oxker -t "${HOME}/.local/bin" &&
rm oxker_linux_x86_64.tar.gz oxker
或,自动选择平台、下载和安装(到 $HOME/.local/bin
)
在 shell 中运行之前,应始终验证 脚本内容
curl https://raw.githubusercontent.com/mrjackwills/oxker/main/install.sh | bash
运行
oxker
应用程序控制
按钮 | 结果 |
---|---|
( tab ) 或 ( shift+tab ) |
更改面板,点击面板也会更改所选面板。 |
( ↑ ↓ ) 或 ( j k ) 或 ( PgUp PgDown ) 或 ( Home End ) |
在所选面板中更改所选行,鼠标滚轮也可以更改所选行。 |
(enter) |
运行所选的Docker命令。 |
( 1-9 ) |
按标题排序容器,点击标题也会排序所选列。 |
( 0 ) |
停止排序。 |
( F1 ) 或 ( / ) |
进入过滤模式。 |
(e) |
进入所选容器执行 - Windows上不可用。 |
(h) |
切换帮助菜单。 |
(m) |
切换鼠标捕获 - 如果禁用,则可以选中屏幕上的文本。 |
(q) |
退出。 |
(s) |
将日志保存到 $HOME/[container_name]_[timestamp].log ,或由 --save-dir 设置的目录。 |
(esc) |
关闭对话框。 |
可用的命令行参数
参数 | 结果 |
---|---|
-d[数字> 0] |
设置Docker信息的最低更新间隔(毫秒)。默认为1000(1秒)。 |
-r |
显示原始日志。默认情况下,删除ANSI格式化(与 -c 冲突)。 |
-c |
尝试为日志着色(与 -r 冲突)。 |
-t |
从每条日志条目中删除时间戳。 |
-s |
如果通过Docker运行,将显示oxker容器。 |
-g |
无TUI,本质上是一种具有有限功能性的调试模式,目前如此。 |
--host [字符串] |
使用自定义主机名连接到Docker。默认为 /var/run/docker.sock 。如果设置了环境变量 $DOCKER_HOST ,则使用它。 |
--save-dir[字符串] |
将导出的日志保存到自定义目录。默认为 $HOME 。 |
--use-cli |
在进入容器时使用Docker应用程序,而不是Docker API。 |
构建步骤
x86_64
cargo build --release
树莓派
需要docker和cross-rs
64位树莓派(pi 4,pi zero w 2)
cross build --target aarch64-unknown-linux-gnu --release
32位树莓派(pi zero w)
已在pi zero w上测试并通过,运行Raspberry Pi OS 32位,如果日志行数达到数千行,则初始日志解析可能需要较长时间,建议运行带有5000的-d参数
cross build --target arm-unknown-linux-musleabihf --release
如果没有可用内存信息,请尝试将 /boot/cmdline.txt
与
cgroup_enable=cpuset cgroup_enable=memory
查看 https://forums.raspberrypi.com/viewtopic.php?t=203128 和 https://github.com/docker/for-linux/issues/1112
在其他平台上未测试
测试
尚未测试,需要工作
已完成工作,迄今为止测试没有影响任何正在运行的容器,但这可能在将来改变。
cargo test
运行一些示例Docker镜像
使用docker/docker-compose.yml;
docker compose -f ./docker/docker-compose.yml up -d
或单独
docker run --name redis -d redis:alpine3.19
docker run --name postgres -e POSTGRES_PASSWORD=never_use_this_password_in_production -d postgres:alpine3.19
docker run -d --hostname my-rabbit --name rabbitmq rabbitmq:3
依赖项
~20–33MB
~523K SLoC