#docker #personal-project #logs-streamer

bin+lib docker-container-log-streamer

Rust库,通过WebSocket流式传输Docker日志

1 个不稳定版本

0.1.0 2024年5月25日

#198WebSocket

Apache-2.0

36KB
335

通过WebSocket流式传输Docker日志

使用WebSocket将Docker日志流式传输到浏览器。

构建

cargo build --release

部署

帮助命令

cargo run -- --help

Usage: docker-container-log-streamer --stream-key <STREAM_KEY> --host <HOST> --port <PORT>

Options:
      --stream-key <STREAM_KEY>
          Stream Key used for Authentication

      --host <HOST>
          Host in IPV4 IP Address format

      --port <PORT>
          The port number to use

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version

使用 cargo 运行

cargo run -- --stream-key mystreamkey --host 0.0.0.0 --port 3090

使用编译后的二进制文件运行

构建二进制文件

cargo build --release

执行二进制文件

./target/release/docker-container-log-streamer --stream-key mystreamkey --host 0.0.0.0 --port 3090

测试

您使用随机消息脚本来构建Docker容器并执行docker-compose来模拟Docker日志流式传输。

  1. 构建随机消息容器。
cd tests
docker build . -t random_messages:latest
  1. 执行docker-compose。
docker-compose -f docker-compose-random-messages.yml up

您可以使用提供的前端应用程序来模拟日志流。

  1. 为前端执行docker-compose。
cd tests
docker-compose -f docker-compose-frontend.yaml up -d
  1. 查找前端容器。
docker ps 

Example:
CONTAINER ID   IMAGE                    COMMAND                  CREATED       STATUS             PORTS                  NAMES
e6b8bedb2193   node                     "docker-entrypoint.s…"   3 hours ago   Up 3 hours         0.0.0.0:7050->80/tcp   tests-nginx-1
  1. 获取容器ID
docker exec -it e6b8bedb2193 "bash"
  1. 运行开发服务器。
cd app
yarn dev
  1. 打开浏览器,然后转到
https://127.0.0.1:7090

开发者

JP Mateo ([email protected])

依赖项

~17–29MB
~449K SLoC