Dockerを使ってCLI環境を構築する
最近DockerをつかってCLI環境の改善をしています。コンセプトとしてはRancherOSと似たようなもので、使いたいコマンドをDocker経由で使えるようにしています。
下記コマンドを$HOME/bin/run
として保存して.bashrc等にexport PATH=$HOME/bin:$PATH
などとしてパスを通しておくと、dockerを使える環境でさえあればどの環境でも同一のCLIツールを使えるようになってとても便利です。
#!/bin/sh docker run -it --rm -v $PWD:/pwd -w /pwd $@
コマンド実行するときはこんな感じ。
run yoshiso/js-beautify -r -n path/to/main.js
おおきなメリットは2つあって、1つは必要なdockerイメージをその場でダウンロードしてくれるので、インストール方法を意識する必要が無いこと。2つ目はdockerさえ動いていればどの環境でも同一のバージョンのバイナリの実行を担保できること。curlの--unix-socketオプション使いたいけどローカルのバージョン古かったどうしようみたいなことがなくなります。 デメリットも大きく2つあって、1つはそういう使い方をできるイメージが少ないこと。自分でイメージビルドできれば問題無いわけですが、一手間かかります。もう1つはストレージを消費しやすいことですが、alpineベースのイメージを使っていればそこまで大きな問題ではないかなと思ってます。
こんな感じで用意しておくと新しいマシンでもgit pullしてpath通すだけで環境整うのでおすすめです。
便利なので、ぜひお試しあれ。