Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Dockerコマンドのzsh completionを設定する

More than 3 years have passed since last update.

Dockerコマンドはオプションが数多くありイメージIDやコンテナIDなどの指定も必要になるので、シェル補完を導入したい。

現在のところzsh-completionsにはDockerコマンドの補完設定はないため、自分で導入する必要がある(なぜかdocker-machineだけはある)。

公式リポジトリに補完設定があるのでダウンロードして適当な場所に配置し、fpathで読みこめばよい。

今回はpreztoを使っているので、~/.zprezto/modules/completion/external/srcにダウンロードした。

cd ~/.zprezto/modules/completion/external/src
curl -fLo _docker https://github.com/docker/docker/raw/master/contrib/completion/zsh/_docker
curl -fLo _docker-compose https://raw.githubusercontent.com/docker/compose/master/contrib/completion/zsh/_docker-compose
exec $SHELL -l

これで補完できるようになった

docker [TAB]
 -- docker command --
attach   -- Attach to a running container
build    -- Build an image from a Dockerfile
commit   -- Create a new image from a container's changes
cp       -- Copy files/folders between a container and the local filesystem
create   -- Create a new container
daemon   -- Enable daemon mode
deploy   -- Create and update a stack from a Distributed Application Bundle
diff     -- Inspect changes on a container's filesystem
...
pepabo
「いるだけで成長できる環境」を標榜し、エンジニアが楽しく開発できるWebサービス企業を目指しています。
https://pepabo.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away