自动补全_Docker 命令自动补全?要的

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


前言

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

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

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

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

61f945909f26295f8ab5c1ea8e1d3a76.png

从图中可以看出,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

d533a1ea492532a16eef3099a9016ebc.gif

我觉得 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 文件内容:

206bf407d2a04b7d8f9245e4a451c0bc.png

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

plugins=(... docker docker-compose
)

ccbf559655c352a30f206c24b5f8c7fe.png

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

最后刷新一下使之生效:

source ~/.zshrc

总结

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

87d23dd1b03f1df7aca3b44c53c49590.png

3cb668cef0c3b07725d05dbd501d376b.gif


- END -

08bb017435495ab4ed17bc82bb4e4da2.png

c5064793bcb9a6877ca766ca2e7c3ced.gif

Docker在Linux系统中通常提供了一套方便的命令行工具,其中包含一系列用于管理容器、镜像等操作的命令。为了提高效率,许多Linux发行版的Docker客户端支持自动补全功能。要在Linux Docker命令行中启用自动补全,你可以按照以下步骤操作: 1. **基于bash shell**: - 如果你的shell是bash,可以安装`docker-compose-completion`或者`docker-machine-completion`,这两个包通常会提供基本的Docker命令补全。 ``` sudo apt-get install docker-compose-completion # 对于docker-compose sudo apt-get install docker-machine-completion # 对于docker-machine ``` - 配置bash自动加载补全脚本: ```bash if [ -f /usr/share/bash-completion/completions/docker ]; then source /usr/share/bash-completion/completions/docker fi ``` 2. **基于zsh shell**: - Zsh用户需要安装`oh-my-zsh`插件,并从其plugins目录添加`docker`补全。 ```bash git clone https://github.com/zsh-users/zsh-autocompletion.git ~/.oh-my-zsh/custom/plugins/docker echo "plugins=(docker)" >> ~/.zshrc zsh ``` - 然后配置zsh加载`docker`补全: ```bash autoload -Uz compinit && compinit ``` 3. **手动设置**: - 如果上述方法都不适用,你也可以手动编辑`.bashrc`或`.zshrc`文件,添加`source <path_to_docker_completion_file>`,例如对于官方Docker CLI,路径可能是`/usr/local/etc/bash_completion.d/docker`. 在完成以上设置后,你应该能在终端中使用Docker命令时享受自动补全的功能了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值