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の違いは何ですか?

ブログ    

推薦する

Vue フィルターの実装と適用シナリオの詳細な説明

1. 簡単な紹介Vue.js を使用すると、一般的なテキストの書式設定に使用できる独自のフィルターを...

Tomcatの起動が遅い問題を素早く解決、超簡単

今日、私はクラスメートが問題を解決するのを手伝いました - Tomcat の起動が非常に遅く、約 5...

Linux は n 日前のログとサンプルコマンドを自動的に削除します

1. ファイル削除コマンド:対応するディレクトリを検索します -mtime + 日数 -name &...

Ubuntu 上の MySQL における中国語文字化け問題の解決方法

問題を見つける最近 Django を学習しているのですが、MySQL データと組み合わせてデータを挿...

テキストの両側に水平線を描くための CSS のサンプルコード

この記事では、テキスト中央の両側に水平線を引く効果を実現する CSS のサンプルコードを紹介し、皆さ...

MySql エラー 1698 (28000) の解決策

1. 問題の説明: MysqlERROR1698 (28000) の解決方法、新しくインストールされ...

Windows での MySQL の詳細なインストール手順と基本的な使用方法

目次1. MySQLをダウンロードする2. MySQLをインストールする3. MySQL の基本的な...

Linux での MySQL のアンインストールとインストールのグラフィック チュートリアル

ブログを書くのは初めてです。開発に携わって2年になります。仕事の後に何か有意義なことを見つけたいと思...

MySQL 高可用性クラスタの展開とフェイルオーバーの実装

目次1. 内閣府1. コンセプト2. MHAの構成3. MHAの特徴2. MySQL+MHAをビルド...

Linux で SSH 経由でリモート ファイルシステムをマウントする方法の詳細な説明

SSHFS の機能: FUSE(Linux向けの最高のユーザー空間ファイルシステムフレームワーク)を...

Windows プラットフォーム構成 5.7 バージョン + MySQL データベース サービス

ルートユーザーのパスワードを初期化するプロセスと、よくある2つの問題の解決策が含まれています。 1....

nginx クッキーの有効期間に関する議論の要約

訪問するたびにブラウザにCookieが生成されますが、 Cookieの存在はユーザーにとって良いこと...

読み込み進捗バーのネイティブ JS 実装

この記事では、ネイティブ JS によって実装された動的読み込みプログレス バーの特殊効果を紹介します...

Firefoxでリンクをクリックしたときに点線の枠線を削除する方法

今日、ブラウザの互換性の問題にいくつか遭遇しました。そのうちの 1 つは奇妙に感じました。Firef...

MySQL ログの設定と表示方法

MySQL には次のログがあります。エラーログ: -log-errクエリログ: -logスロークエリ...