• 欢迎访问佰阅部落
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Container web TTY(一款用于Docker容器可视化web窗口查看日志和运行exec)

数据可视化 佰阅 4年前 (2019-07-13) 4164次浏览 0个评论

0.前言

当我们想进入某个容器内部的时候,通常会执行这个命令组合 docker ps | grep xxx && docker exec -ti xxxx sh, 但老这样敲也是很烦,也许你可以试一下这个项目。它能够帮助你通过点击网页的方式 进到容器里执行命令。初版的代码是基于yudai/gotty这个项目的,感谢yudai。后端可以对接docker或者kubectl。

项目来源:https://github.com/wrfly/container-web-tty

1.运行

通过docker:

docker run --rm -ti --name web-tty \
    -p 8080:8080 \
    -v /var/run/docker.sock:/var/run/docker.sock \
    wrfly/container-web-tty

通过kubernets:

你需要把kubernetes的配置文件挂进去,默认是在 $HOME/.kube/config,然后指定一下backed的类型,也就是kube

docker run --rm -ti --name web-tty \
    -p 8080:8080 \
    -e WEB_TTY_BACKEND=kube \
    -e WEB_TTY_KUBE_CONFIG=/kube.config \
    -v ~/.kube/config:/kube.config \
    wrfly/container-web-tty

通过gRPC代理:

当我们有很多server需要接入的时候,就可以使用这种模式把远程的container-web-ttymerge 到一起,典型的CS模式,通过gRPC通信。

在一个界面上查看多台机器上的容器。

远程配置

假如有两台机器 192.168.66.1192.168.66.2,他们可以用如下的命令来启动container-web-tty

docker run --rm -ti --name web-tty \
    -p 8080:8080 \
    -p 8090:8090 \
    -e WEB_TTY_GRPC_PORT=8090 \
    -e WEB_TTY_GRPC_AUTH=96ssW0rd \
    -v /var/run/docker.sock:/var/run/docker.sock \
    wrfly/container-web-tty

注意:

  • 你可以通过设置 WEB_TTY_PORT=-1 的方式来关闭HTTPserver,拒绝一般接入
  • 这个 WEB_TTY_GRPC_AUTH key 在所有机器上必须要相同(目前)

本地配置

docker run --rm -ti --name web-tty \
    -p 8080:8080 \
    -e WEB_TTY_BACKEND=grpc \
    -e WEB_TTY_GRPC_AUTH=96ssW0rd \
    -e WEB_TTY_GRPC_SERVERS=192.168.66.1:8090,192.168.66.2:8090 \
    wrfly/container-web-tty

现在你就可以通过访问 http://localhost:8080 来获取两台机器上所有的容器

2.效果展示:

首页:

Container web TTY(一款用于Docker容器可视化web窗口查看日志和运行exec)

exec模式

在选择shell的时候,优选选择bash,如果没有,就依次选择ash,sh,再没有就退出了。

Container web TTY(一款用于Docker容器可视化web窗口查看日志和运行exec)

logs查看:

。。。

3.小结:

虽然命令行操作最快速方便,但是作为开发或者调试,临时采用这个工具可以极大的提高开发效率。值得推荐,镜像采用alpine写的,非常轻量干净。


佰阅部落 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Container web TTY(一款用于Docker容器可视化web窗口查看日志和运行exec)
喜欢 (1)

您必须 登录 才能发表评论!