Skip to content

一个简易的 docker exec bash 的工具,选择大于输入!

License

Notifications You must be signed in to change notification settings

iamlongalong/dockerenter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dockerenter

有时候使用 docker 时,发现要执行 exec 很不方便,得先 docker ps,拿到 containerID 之后得 copy paste 等等,于是做了这个工具。

这是一个简单的 docker 工具,用来替代 docker exec -it xxxx bash 这个命令。

🎉🎉🎉 有了这个工具,节省下来的时间又可以摸 5 秒钟 🐟 啦啦啦~ 🎉🎉🎉

灵感来源于 devspace enter 命令,之前写的 sshw scp 扩展也是这个处理方法,还是挺方便的。

demo

如何安装

  1. release 页面,下载符合自己版本的文件

  2. 将二进制文件移动到 bin 下

sudo mv denter_mac_vx.x /usr/local/bin/
  1. 输入 denter (当然了,你得打开 docker 先~)

todo

  • 扩展为 docker 子命令的方式, 或者 docker wrapper?

其实不仅 docker exec 需要知道容器的名字,还有一些其他场景同样需要 容器名 或者 镜像名 或者 网络名 等等,按照这个工具所提供价值的基本原因 (把 填空题 变为 选择题),很多场景都可以使用这种方式进行优化。

docker 中的例子: docker cp docker export docker inspect docker kill docker logs docker rm docker rmi docker save docker export docker tag docker attach docker network docker run docker logs helm 中的例子: fetch install kubectl 中的例子: kubectl cp kubectl exec kubectl logs kubectl describe ……

从这种交互方式更近一步,就是类似于 k9s、glances、top 这种直接以 terminal 为 UI 界面的终端交互方式。

另外,从 dcenter 的模式上,可以类似于 docker 的 exec 命令代理,站在代理的角度,可以扩展一些思路: ① 本地命令转换的代理 ② 基于网络的终端代理。 可以想象一下,我们在本地,配置好远端的代理后,就可以直接使用 denter 在远端的机器上执行 docker exec,是不是有点小意思了?

之后空了可以考虑下更近一步做点

其他

有任何建议,欢迎提哈 ~ 😁

被 ChatGPT 教育了 😭

我让 chatGPT 写一个 docker 的子命令,可以选择容器,然后他给了一个 bash,直接用 fzf 这个工具完成选择,哭死

用的时候,可以把 denter.sh 移动到 /usr/local/bin/denter,然后就可以用了 但前提是要装 fzf, 可以这样 vendor/fzf/install --no-key-bindings --completion --update-rc

然后就好了……

About

一个简易的 docker exec bash 的工具,选择大于输入!

Resources

License

Stars

Watchers

Forks

Packages

No packages published