Skip to content

Instantly share code, notes, and snippets.

@ro31337
Created August 13, 2017 02:12
Show Gist options
  • Select an option

  • Save ro31337/b2c33ad0b90636e9e3bb76fb4fb76907 to your computer and use it in GitHub Desktop.

Select an option

Save ro31337/b2c33ad0b90636e9e3bb76fb4fb76907 to your computer and use it in GitHub Desktop.
Zsh docker completion

Docker Completion for Zsh (Official)

  • mkdir -p ~/.oh-my-zsh/plugins/docker/
  • curl -fLo ~/.oh-my-zsh/plugins/docker/_docker https://raw.githubusercontent.com/docker/cli/master/contrib/completion/zsh/_docker
  • Add docker to plugins section in ~/.zshrc
  • exec zsh
@whyboris

whyboris commented Sep 6, 2018

Copy link
Copy Markdown

Thank you ❤️

@bcalisch

bcalisch commented Oct 1, 2018

Copy link
Copy Markdown

Thank you very much!

@vtraida

vtraida commented Oct 20, 2018

Copy link
Copy Markdown

thank you

@csingng

csingng commented Oct 31, 2018

Copy link
Copy Markdown

Many thanks. Awesome.

@jocrau

jocrau commented Mar 9, 2019

Copy link
Copy Markdown

Worked. Thanks!!

@kokolingga

Copy link
Copy Markdown

It's works! Thank You.

@fzyzcjy

fzyzcjy commented Mar 7, 2020

Copy link
Copy Markdown

does not work for me...

@BastienRulat

Copy link
Copy Markdown

MAgic 😎👍

@iNoSec2

iNoSec2 commented Feb 8, 2021

Copy link
Copy Markdown

does not work for me...

same, adn that's weird because it worked on my previous laptop but the new one nope

@AratioD

AratioD commented Feb 21, 2021

Copy link
Copy Markdown

this works

@sayemarg

Copy link
Copy Markdown

Tnx You ❤️

@dbn000

dbn000 commented Sep 2, 2022

Copy link
Copy Markdown

Amazing... Thanks!

@ikilobyte

Copy link
Copy Markdown

Thank you ❤️

@xvv6u577

xvv6u577 commented Jan 6, 2023

Copy link
Copy Markdown

thx, perfectly worked!

@Timopheym

Copy link
Copy Markdown

thanks!

@BoscoDomingo

Copy link
Copy Markdown

Still working as of December 2023 <3

@rizzyDev

Copy link
Copy Markdown

Cool

@crazyoptimist

Copy link
Copy Markdown

I don't use oh-my-zsh. Below worked for me:

curl -fLo /usr/local/share/zsh/site-functions/_docker https://raw.githubusercontent.com/docker/cli/master/contrib/completion/zsh/_docker

exec zsh

@bistoco

bistoco commented Apr 19, 2025

Copy link
Copy Markdown

First of all, thanks. I want it to add the plugin in one command, so this one adds it to the end of the list.
sed -i 's/\(^plugins=(.*\)\()$\)/\1 docker\2/' ~/.zshrc
Longer explanation

# ADD THE PLUGIN TO ~/.zshrc IN THE PLUGINS SECTION
# - ADD AT THE START OF LIST (AFTER THE OPEN PARENTHESIS)
#   sed -i 's/plugins=(/plugins=(docker /' ~/.zshrc
# - ADD AT THE END OF THE LIST VERSION (BEFORE CLOSING PARENTHESIS)
sed -i 's/\(^plugins=(.*\)\()$\)/\1 docker\2/' ~/.zshrc
# 's/               > Default sed substitution start
# \(^plugins=(.*\)  > Captures as $1, in a line starting with 'plugins=(', everything BEFORE the closing ')'
# \()$\)            > Captures as $2, the closing ')'
# /\1 docker\2/'    > Replaces the whole line with $1 + ' docker' + $2
# FOR EXAMPLE, AN ORIGINAL LINE IN ~/.zshrc > "plugins=(git)"
# APPLYING THE SED COMMAND  >
#   $1:  'plugins=(git'
#   Add: ' docker'
#   $2:  ')'
# RESULT > 'plugins=(git docker)'
# TO TEST WITHOUT SUBSTITUTION
#   sed 's/\(^plugins=(.*\)\()$\)/\1 docker\2/' ~/.zshrc | grep -E '^plugins='
# EXPLANATION FOR SED'S PARTS FROM https://stackoverflow.com/a/14137448/30293736

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment