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

推薦する

MySQLで大きなテーブルを正常に削除する方法の詳細な説明

序文テーブルを削除するには、無意識に思い浮かぶコマンドは、DROP TABLE "テーブル...

HTML、CSS、RSSフィードが正しいかどうかを確認する無料ツール

この種のエラーに対処するための 1 つの方法は、まずマークアップとスタイルシートを検証することです。...

データベースを削除して逃げる?xtraback を使用して MySQL データベースをバックアップする方法

1. mysqldump バックアップ方法では論理バックアップが使用されます。最大の欠点は、バック...

ウェブサイトのユーザビリティとコンバージョン率を向上させる 25 のツール

ウェブサイトの場合、ユーザビリティとは、ユーザーが必要な情報を効果的に見つけたり、タスクを完了したり...

Linux のよく使うコマンドの使い方を詳しく解説(第 2 回)———— テキストエディタのコマンド vi/vim

vi/vim の紹介どちらもマルチモード エディターです。違いは、vim が vi のアップグレー...

URLに基​​づいてリクエストを転送するnginxの実装の実践経験

序文これは fastdfs を使用してイントラネット外部に展開された分散ファイルシステムであるためで...

Windows と Linux 間のリモート デスクトップ接続

Linux へのリモート デスクトップ接続といえば、まず VNC の使用を思い浮かべるかもしれません...

純粋な CSS で実装された 3 つの通知バーのスクロール効果

序文通知バー コンポーネントは、比較的一般的なコンポーネントです。基本的に、すべてのサイトにこのよう...

Windows で Mysql を起動したときに 1067 が表示される場合の解決策

数日前に仕事を始めて、Mysql をインストールしたところ、開くことができました。今日、会社に行った...

HTML の表のフレームとルール属性の詳細な説明

テーブル タグの frame 属性と rules 属性は境界線の表示を制御できます。フレーム プロパ...

JavaScript はクリックして画像の形状を変更する (変換アプリケーション) を実装します。

JavaScriptをクリックすると画像の形状が変わります(変形の応用)。参考までに具体的な内容は...

CSS3で背景画像にカラーマスクを追加する方法

以前、開発中に背景レイヤーにカラーマスクを追加する必要のあるプロジェクトに遭遇しました。ここでは、背...

Zookeeper 不正アクセス テストの問題

目次序文Zookeeper サービスのオープンを検出情報を入手する接続テスト接続先修理計画参照する序...

ナビゲーションバーコンポーネントをVueでカプセル化する

はじめに:ナビゲーション バーなどのコンポーネント ベースのアイデアを使用して機能モジュールを完全に...

Windows 環境に mysql-8.0.11-winx64 をインストールする際に発生する問題を解決する

MySQL インストール パッケージをダウンロードします。mysql-8.0.11-winx64 を...