Docker 命令自动补全?要的

SegmentFault

共 1476字,需浏览 3分钟

 ·

2020-12-13 05:56

作者:日拱一兵
来源:SegmentFault 思否社区




前言


不知道这个小伙伴有多久没用过 Docker 了, 突然对我说 Docker 命令怎么发生变化了


docker run ...
#变成了
docker container run ...


他说,本来对 Docker 命令就不熟悉,这下感觉更加混乱了。其实个人看来,这么变化还使得命令看着更加规整


当在命令行直接输入 docker 然后回车:



从图中可以看出,Docker 将命令结构化的划分了两大类,Management Commands 和 Commands,其实前者就是一级命令,后者就是子命令 (这是自 Docker 1.13 开始的改动),所以以后使用命令就是这样滴:


docker  >


这样以后我们使用命令只需要先关注 Management Commands 就可以了,那后续的子命令还是不知道怎么用,还要一点点查询嘛?




Docker 命令自动补全


为了解决这个问题,Docker 也提供了非常完善的命令自动补全功能,也就是把一切交给 Tab 键


Mac 安装Docker命令自动补全


逐条键入下面命令:


brew install bash-completion

sudo curl -L https://raw.githubusercontent.com/docker/compose/1.27.4/contrib/completion/bash/docker-compose -o /usr/local/etc/bash_completion.d/docker-compose


打开 ~/.bash_profile 文件,将下面内容粘贴进去:


if [ -f $(brew --prefix)/etc/bash_completion ]; then
 . $(brew --prefix)/etc/bash_completion
 fi


然后刷新使之生效


source ~/.bash_profile



我觉得 Zsh 更好


Zsh安装Docker命令自动补全


如果没有安装 Oh-My-Zsh shell,第一步则是要先安装它,逐条键入下面命令:


mkdir -p ~/.zsh/completion

curl -L https://raw.githubusercontent.com/docker/compose/1.27.4/contrib/completion/zsh/_docker-compose > ~/.zsh/completion/_docker-compose


打开 ~/.zshrc 文件,将下面内容粘贴进去:


fpath=(~/.zsh/completion $fpath)
autoload -Uz compinit && compinit -i


比如我的 ~/.zshrc 文件内容:



搜索该文件插件位置,更新插件内容:


plugins=(... docker docker-compose
)



顺便说一下,强烈建议使用 git 插件


最后刷新一下使之生效:


source ~/.zshrc




总结


自动补全功能就可以疯狂利用你的 Tab 键,这比查阅文档要更加快捷,来看看效果:







点击左下角阅读原文,到 SegmentFault 思否社区 和文章作者展开更多互动和交流。

- END -

浏览 23
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报