有没有觉得docker原生命令不是很方便?我撸了个项目,用来替代部分原生命令。
2016-04-07 03:46:23
绅士喵
  • 访问次数: 4
  • 注册日期: 2016-04-07
  • 最后登录: 2016-04-18

地址: 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

欢迎大家提出意见。


绅士喵 最后编辑, 2016-04-18 04:39:36
沙发
2016-04-07 03:49:43
绅士喵
  • 访问次数: 4
  • 注册日期: 2016-04-07
  • 最后登录: 2016-04-18
$~前缀表示执行的命令,不带这个的表示执行产生的输出结果。排版有点乱,我试过编辑调整,一调整更乱,所以... 抱歉辣。
板凳
2016-04-11 16:06:01
开源春哥
  • 访问次数: 28
  • 注册日期: 2014-06-17
  • 最后登录: 2017-05-17
赞!
1/1