有没有觉得docker原生命令不是很方便
发布网友
发布时间:2022-04-20 20:24
我来回答
共1个回答
热心网友
时间:2022-05-18 00:09
① 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