Dockerコマンドの自動補完の実装

Dockerコマンドの自動補完の実装

序文

この友人がどれくらいDockerを使っていなかったのかは分かりませんが、突然Dockerコマンドが変わった理由を尋ねてきました。

docker 実行...
#docker container run に変更しました...

彼は Docker コマンドに慣れていなかったため、さらに混乱していると感じたそうです。実際、私の意見では、この変更によりコマンドがより規則的になります。

コマンドラインにdockerを直接入力して Enter キーを押すと、次のようになります。

図からわかるように、Docker はコマンド構造を管理コマンドとコマンドの 2 つのカテゴリに分けます。実際、前者は第 1 レベルのコマンド、後者はサブコマンドです (これは Docker 1.13 からの変更点です)。そのため、今後はコマンドは次のように使用されます。

docker <管理コマンド> <サブコマンド <オプション/引数>>

このように、今後コマンドを使用するときは、まず管理コマンドに焦点を合わせるだけで済みます。しかし、後続のサブコマンドの使い方がまだわからない場合は、1つずつ問い合わせる必要がありますか?

Docker コマンドの自動補完

この問題を解決するために、Docker は非常に完全なコマンド自動補完機能も提供しており、すべてを Tab キーに任せることができます。

Mac インストール Docker コマンドの自動補完

次のコマンドを 1 つずつ入力します。

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ファイルを開き、次の内容を貼り付けます。

[ -f $(brew --prefix)/etc/bash_completion ] の場合;
 . $(brew --prefix)/etc/bash_completion
 フィ

リフレッシュして効果を高めましょう

ソース ~/.bash_profile 

Zsh の方が良いと思いますが、なぜでしょうか?答えについては、この記事をご覧ください: この iTerm2 + Oh My Zsh チュートリアルは、あなたが街で一番クールな男になるのに役立ちます

ZshはDockerコマンドの自動補完をインストールします

Oh-My-Zsh シェルがインストールされていない場合は、まず次のコマンドを 1 つずつ入力してインストールします。

mkdir -p ~/.zsh/補完

次のように、curl -L https://raw.githubusercontent.com/docker/compose/1.27.4/contrib/completion/zsh/_docker-compose を実行します。 ~/.zsh/completion/_docker-compose

~/.zshrcファイルを開き、次の内容を貼り付けます。

fpath=(~/.zsh/補完 $fpath)
オートロード -Uz compinit && compinit -i

たとえば、私の~/.zshrcファイルの内容は次のとおりです。

ファイルプラグインの場所を検索し、プラグインのコンテンツを更新します。

プラグイン=(... docker docker-compose
) 

ちなみに、gitプラグインを使用することを強くお勧めします

最後に更新して有効にします。

ソース ~/.zshrc

自動補完機能は Tab キーを大いに活用でき、ドキュメントを参照するよりも高速です。その効果を見てみましょう。


Docker コマンド自動補完の実装に関する記事はこれで終わりです。Docker コマンド自動補完に関するその他の関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Dockerテスト中にコマンドが完了できない問題の解決策

<<:  MySQL エラー コード 1064 の解決策

>>:  JavaScriptのvar let constの違いは何ですか?

推薦する

Linuxでディレクトリを効率的に切り替える方法

Linux でディレクトリを切り替えるとなると、誰もが間違いなくcdコマンドを思い浮かべるでしょう。...

Nginx の書き換え正規マッチング書き換え方法の例

Nginx の書き換え機能は、リダイレクトと同様に、URL アドレスを一時的または永続的に新しい場所...

Linux で MySQL 5.6 X64 バージョンをインストールする詳細な手順

環境: 1. CentOS6.5 X64 2.mysql-5.6.34-linux-glibc2.5...

JavaScript の find() メソッドと filter() メソッドの違いのまとめ

目次序文JavaScript find() メソッドJavaScript filter() メソッド...

Linux で Docker を使用して MySQL をインストールする手順

テスターとして、学習プロセス中に Linux でソフトウェアをインストールする必要が頻繁にある場合が...

Docker データ管理 (データ ボリュームとデータ ボリューム コンテナー) の詳細な説明

実稼働環境で Docker を使用する場合、多くの場合、データを複数のコンテナ間で永続化または共有す...

UniappはBaidu Voiceを使用して録音をテキストに変換する機能を実現

3日間さまざまな困難に遭遇した後、ようやくこの機能を実現しました。正常に実装できる方法を見つける前に...

Confluence と jira-software を Docker にデプロイする方法

バージョン: セントロス==7.2 jdk==1.8 合流==6.15.4 jira-ソフトウェア=...

検索ナビゲーションバー付きの CSS サンプルコード

この記事では、CSS を使用して検索機能付きのナビゲーション バーを作成する方法を説明します。以下の...

CSSはリモコンのボタンを模倣する

注: このデモはミニプログラム環境でテストされており、他の h5 および pc Web ページにも適...

docker-compose を使用して Apollo カスタム環境をデプロイする詳細なチュートリアル

目次アポロ コンフィギュレーション センターとは何ですか?アポロの特徴クライアントアーキテクチャアー...

Vue プロジェクトでの支払い機能の実装 (WeChat 支払いと Alipay 支払い)

目次プロジェクトにおける一般的な支払い方法Alipay決済微信ペイプロジェクトにおける一般的な支払い...

スクラッチ宝くじの例を実現する JavaScript キャンバス

この記事では、スクラッチ効果を実現するためのJavaScriptキャンバスの具体的なコードを参考まで...