Docker 命令自動補全?要的

日拱一兵發表於2020-12-09

前言

不知道這個小夥伴有多久沒用過 Docker 了, 突然對我說 Docker 命令怎麼發生變化了

docker run ...
#變成了
docker container run ...

他說,本來對 Docker 命令就不熟悉,這下感覺更加混亂了。其實個人看來,這麼變化還使得命令看著更加規整

當在命令列直接輸入 docker 然後回車:

從圖中可以看出,Docker 將命令結構化的劃分了兩大類,Management Commands 和 Commands,其實前者就是一級命令,後者就是子命令 (這是自 Docker 1.13 開始的改動),所以以後使用命令就是這樣滴:

docker <Management Command> <Sub-Command <Opts/Args>>

這樣以後我們使用命令只需要先關注 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 更好,為什麼?答案請看這篇:這篇 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 檔案內容:

搜尋該檔案外掛位置,更新外掛內容:

plugins=(... docker docker-compose
)

順便說一下,強烈建議使用 git 外掛

最後重新整理一下使之生效:

source ~/.zshrc

總結

自動補全功能就可以瘋狂利用你的 Tab 鍵,這比查閱文件要更加快捷,來看看效果:


個人部落格:https://dayarch.top
加我微信好友, 進群娛樂學習交流,備註「進群」

歡迎持續關注公眾號:「日拱一兵」

  • 前沿 Java 技術乾貨分享
  • 高效工具彙總 | 回覆「工具」
  • 面試問題分析與解答
  • 技術資料領取 | 回覆「資料」

以讀偵探小說思維輕鬆趣味學習 Java 技術棧相關知識,本著將複雜問題簡單化,抽象問題具體化和圖形化原則逐步分解技術問題,技術持續更新,請持續關注......


相關文章