Less is Best

rubyが好き。技術の話とスタートアップに興味があります。

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通すだけで環境整うのでおすすめです。

github.com

便利なので、ぜひお試しあれ。