LoginSignup
1
0

More than 1 year has passed since last update.

【windows】「docker」「docker-compose」コマンドを省略しよう

Posted at

前置き

毎回打つのが地味に手間なdockerコマンド。

「docker」→「d」
「docker-compose」→「dc」

と省略設定をしてみたいと思います。「d ps -a」「dc up -d」などとコマンドが打てるようになります。

windowsのDOSKEYコマンドを利用することで、コマンドに対してエイリアス(別名)を付ける事ができます。
「dir」コマンドをlinuxのように「ls」と設定するにはコマンドプロンプトで

doskey ls=dir

と入力すればlsが使えるようになります。

dockerコマンド省略

同じようにdocker,docker-composeそれぞれにエイリアス設定(=名前をつける)が可能です。

doskey d=docker $*
doskey dc=docker-compose $*

$*は引数受け取りを意味します。下記が使えるようになりました。

d ps -a
dc up -d

「dc」だと「cd」と混同しますね😅
適宜お好きに名付けてください。

ただし、この設定は永続的なものではなく。コマンドプロンプトを閉じると使えなくなってしまいます。

エイリアスの永続化

windowsの仕様上泥臭い方法になるのですが、doskeyを入力後ファイルに書き出し、出力したマクロファイルを毎度読み込ませるという形で事実上の永続化を行います。

まずエイリアス設定。

doskey d=docker $*
doskey dc=docker-compose $*

ユーザディレクトリに「macros.txt」として出力。「%USERPROFILE%」とはカレントユーザディレクトリのこと。保存場所は適宜変えてください

doskey /macros > %USERPROFILE%\macros.txt

マクロ読み込みコマンド

doskey /macrofile=%USERPROFILE%\macros.txt

これをコマンドプロンプト起動時に毎度打ち込めばエイリアスが使えます。
ただ毎回手打ち入力してらん無いんで、コマンドライン引数として実行させる必要があります。方法は2つ。

1. cmd.exeのショートカット作ってコマンドライン引数に指定
一番お手軽・安全。cmd.exeの後ろに半角スペース入れて上記をペースト。
/k "doskey /macrofile=%USERPROFILE%\macros.txt"
ただし作ったショートカットから毎回開かないエイリアスが適用されない。
image.png

レジストリ値設定
この方法だと全体にalias設定が可能です。

レジストリ エディターを開いて、
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
のどちらかを探し、右クリック>新規>文字列値
名前を
AutoRun
値を
doskey /macrofile=%USERPROFILE%\macros.txt
として保存するだけでOK

image.png

※ちなみにConEmu/Cmderでの設定①とほぼ同じ。&で繋いで下記入力して適用押す。
2022-01-15_15h31_57.png

/k "doskey /macrofile=%USERPROFILE%\macros.txt"

「無効なマクロ定義です。」と表示される場合は

無効と言われるのに設定したエイリアスは使えるという現象が起きました。意味不明に

doskey /macros > %USERPROFILE%\macros.txt

で出力後、一度cmd.exeを閉じてもう一度cmd.exeを開き、

doskey /macrofile=%USERPROFILE%\macros.txt

を入力、①で作ったショートカットで開くとこの表示はなくなりました。

この現象ググっても全然出てこない・・
詳しい方いましたらコメントください

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0