有没有觉得docker原生命令不是很方便?我撸了个项目,用来替代部分原生命令。

HeantaiMew 2016-04-07 03:46:23

地址: https://github.com/hentai-mew/dkutil

相关博客页面: https://blog.bluerain.io/p/the-project-dkutil

我就直接把READMED一部分内容粘贴过来了:

Instructions:

The project aims to expand the docker process convenient degree on linux.

① run (自动扩展docker run命令前缀,定义时区、映射local的hosts等)

                  ~$ dkutil run --name test-redis1 -d redis
docker run -ti -e TZ=Asia/Shanghai -v /etc/hosts:/etc/hosts --name test-redis1 -d redis
4623aa5018dc9b750ca112658422920540762725a132cf25c806c1f0f89e6a01

② clean (清除临时、测试产生的多余容器,支持模糊删除)

                  #启动两个未命名容器和一个命名为"test"前缀的容器 
                  ~$ dkutil run -d redis 
                  ~$ dkutil run -d redis 
                  ~$ dkutil run --name test-redis1 -d redis 
                  #执行clean(自动识别包含_的自动命名容器,执行删除,等同于 clean *) 
                  ~$ dkutil clean
docker rm -f tender_austin  distracted_euclid
test-redis1
tender_austin 
                  #根据容器名模糊删除容器 
                  ~$ dkutil clean 
                  test
                  * docker rm -f test-redis1
test-redis1

③ ps (简洁显示 docker ps -a 的结果,支持模糊过滤结果)

                  #查看所有容器(等同于 ps *) 
                  ~$ dkutil ps
test1 web tender_mclean t2 trusting_sinoussi nostalgic_snyder 
                  #查看包含'_'的所有容器(模糊查找容器) 
                  ~$ dkutil ps 
                  *_
                  * tender_mclean trusting_sinoussi nostalgic_snyder

④ ol (区别于ps的地方在于,只会显示正在运行的容器,即 docker ps)

                  #启动所有容器 
                  ~$ dkutil start 
                  * docker start test1 web tender_mclean t2 trusting_sinoussi nostalgic_snyder
test1
web
tender_mclean
t2
trusting_sinoussi
nostalgic_snyder 
                  #停止包含test前缀和包含'_'的容器 
                  ~$ dkutil stop 
                  test
                  * 
                  *_
                  * docker stop test1 tender_mclean trusting_sinoussi nostalgic_snyder tender_mclean trusting_sinoussi nostalgic_snyder
test1
tender_mclean
trusting_sinoussi
nostalgic_snyder
tender_mclean
trusting_sinoussi
nostalgic_snyder 
                  #ol (只剩下两个结果) 
                  ~$ dkutil ol
web t2

⑤ rs (即restart命令,用法和 start、stop完全相同)

                  #重启所有容器 
                  ~$ dkutil rs 
                  * docker restart test1 test3 test2
test1
test3
test2

⑥ rsol (也是restart,和rs区别在于只会重启运行中容器)

                  #停止test1容器 
                  ~$ dkutil stop test1 
                  #重启所有运行中容器 
                  ~$ dkutil rsol 
                  * docker restart test3 test2
test3
test2

欢迎大家提出意见。


回帖列表
qq_539fa61248aa4 2016-04-11 16:06:01
赞!
HeantaiMew 2016-04-07 03:49:43
$~前缀表示执行的命令,不带这个的表示执行产生的输出结果。排版有点乱,我试过编辑调整,一调整更乱,所以... 抱歉辣。
1/ 1
蝉知2.0