Docker 命令自动补全?要的

前言

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

docker run ...

#变成了
docker container run ...

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

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

Docker 命令自动补全?要的

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

docker  >

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

为了解决这个问题,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

Docker 命令自动补全?要的

我觉得 Zsh 更好,为什么?答案请看这篇:这篇 iTerm2 + Oh My 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 文件内容:

Docker 命令自动补全?要的

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

plugins=(... docker docker-compose
)

Docker 命令自动补全?要的

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

最后刷新一下使之生效:

source ~/.zshrc

总结

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

Docker 命令自动补全?要的

Docker 命令自动补全?要的
个人博客:https://dayarch.top
加我微信好友, 进群娱乐学习交流,备注「进群」

欢迎持续关注公众号:「日拱一兵」

  • 前沿 Java 技术干货分享
  • 高效工具汇总 | 回复「工具」
  • 面试问题分析与解答
  • 技术资料领取 | 回复「资料」

以读侦探小说思维轻松趣味学习 Java 技术栈相关知识,本着将复杂问题简单化,抽象问题具体化和图形化原则逐步分解技术问题,技术持续更新,请持续关注……

Docker 命令自动补全?要的

Original: https://www.cnblogs.com/FraserYu/p/14106816.html
Author: 日拱一兵
Title: Docker 命令自动补全?要的

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/573178/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • SpringMvc异常处理

    异常处理器 编写异常处理器 @RestControllerAdvice //用于标识&amp…

    Java 2023年6月7日
    084
  • Maven配置私有仓库

    前言 当公司或个人具有自己独有的jar时,不想公开,一般就会放在自己的私有Maven仓库中,在项目中需要引用,此时就需要将公司私有仓库配置到maven当中,一般我们的maven配置…

    Java 2023年6月8日
    086
  • AQS学习(一)自旋锁原理介绍(为什么AQS底层使用自旋锁队列?)

    1.什么是自旋锁? 自旋锁作为锁的一种,和互斥锁一样也是为了在并发环境下保护共享资源的一种锁机制。在任意时刻,只有一个执行单元能够获得锁。 互斥锁通常利用操作系统提供的线程阻塞/唤…

    Java 2023年6月8日
    077
  • 1.19(设计模式)策略模式

    策略模式,定义一组算法(代码),将它们封装起来,使其可以相互替换。 策略模式首先要针对不同的情况(算法、代码)定义不同的策略类。 首先看个一段代码 要想插入代码有什么方法呢,我们可…

    Java 2023年6月8日
    078
  • idea 安装Jenkins插件,管理自动任务

    下载插件 安装完成后出现在侧边栏 点击设置 配置界面 账号密码(Token) 给Jenkins配置Token 复制保存token 点击测试按钮 Successful,关闭配置就会同…

    Java 2023年6月6日
    098
  • 关于飞书事件订阅功能的应用

    此项目源码我也是站在巨人的肩膀上进行一个二次应用,感谢这位大神的共享 附上源码链接–Feishu-Event-Subscribe: 【实验】飞书的事件订阅 主要是通讯录…

    Java 2023年6月15日
    074
  • 自己动手写Docker 陈显鹭 PDF下载

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年6月8日
    0100
  • 11.Feign面试点及实战优化

    Feign之HTTP性能优化 Feign默认使用的JDK自带的HTTP方式 Feign最大的优化点是更换HTTP底层实现 目前Apache HTTPClient是一个非常好的选择 …

    Java 2023年6月8日
    067
  • Integer包装类中值的比较

    前提知识:”==”当比较基本类型时比较的是值,当为引用类型时比较的是内存地址 首先看代码和结果: Integer integer1 = new Intege…

    Java 2023年6月9日
    080
  • mybatis项目实现动态表名方法总结

    实现动态表名是个很常见的需求,网上也有很多解决方法,这边总结了三种实现方式。 一、手动给每个方法加个表名的变量 缺点很明显,侵入性大,不方便,不推荐 二、mybatis插件机制拦截…

    Java 2023年5月30日
    0100
  • 专门为小白准备的入门级mybatis-plus-generator代码自动生成器,提高开发效率。值得收藏

    引入依赖 com.baomidou mybatis-plus-generator 3.5.2 org.apache.velocity velocity-engine-core 2….

    Java 2023年6月8日
    081
  • LOVE×EVOLUTION 汉化补丁

    【遊戲名稱/Name】:LOVE×EVOLUTION【遊戲廠商/Company】:evee【發售日期/Sale date】:2009/08/18 介绍: 这个好像就是所谓GALGA…

    Java 2023年5月29日
    0109
  • spring boot RocketMQ 集成

    RocketMQ学习 1.基本概念 RocketMQ是阿里巴巴团队使用java语言开发的一款分布式消息中间件,是一款低延迟,高可用,拥有海量消息堆积能力和灵活拓展性的消息队列。 r…

    Java 2023年6月5日
    082
  • Android打造属于自己的数据库操作类。

    1、概述 开发Android的同学都知道sdk已经为我们提供了一个SQLiteOpenHelper类来创建和管理SQLite数据库,通过写一个子类去继承它,就可以方便的创建、管理数…

    Java 2023年6月13日
    0102
  • springmvc静态资源配置

    <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>o…

    Java 2023年6月9日
    094
  • C# 线程手册 第六章 线程调试与跟踪 跟踪开关

    当你的程序接近部署阶段时,你可能想从代码中去掉所有的跟踪和调试消息。然而,你不得不从代码中一条一条地寻找调试指令并将其去掉。对于这种情况你可以在程序编译期间使用编译标志处理。从Vi…

    Java 2023年5月29日
    090
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球