SoftLayerのSLコマンドをDocker化しました。 単にDockerhubのAutomated Buildで遊んでみたかっただけなのですが・・

特に理由ないのですが各Linuxサーバに Python + SoftLayer-Cli 入れるのと Docker 入れるのとどっちがいいかなと思った場合にアプリケーションに影響なく利用できそうなのはDockerかなと。

作ってみてローカルのMacbookで利用しているのですが便利です。 これまでVagrant経由でVM起動してそのなかでゴニョゴニョしていました。今回のDockerにしてもboot2dockerで結局のところ似たような感じなのですがconfig setupで複数のSoftLayer環境を用意する際や、VersionUpをした際に簡単に分離して管理できるのは楽でした。 (まあ.dotfile切り替えるだけなら別の手段もあるかと思いますが)

利用方法

想定

このツールは、IBM社のクラウドサービス「SoftLayer」のCLIコマンドである sl コマンドを利用することが出来ます。 本番機などであまりslコマンド及び前提であるpythonを導入したくない場合。Dockerを利用うすることでOS側に影響なくコマンドを利用することが出来ます。 このDockerのImageは470MByte前後のサイズに成ります。

設定

以下のコマンドで設定ファイルをコンテナ内部に作ります。

$ docker run -ti tokida/softlayer-cli config setup

通常のslコマンド同様にUsernameとAPIキーを設定して下さい。 次に、コンテナを自分用としてローカルにcommitしておきます。

$ docker restart 993ae5495011

一度コンテナをRestartします。

$ docker commit -m "my account" 993ae5495011 tokida/softlayer-cli:my

(数字はコンテナIDで docker ps -aで参照すること) ここではTagにmyをつけています。

利用方法

$ docker run -ti tokida/softlayer-cli:my vs list

という形で利用することが出来ます。長いのでシェルでエリアス等をしておくと良いかと思います。

$ alias sl="docker run -ti tokida/softlayer-cli:my"

こうしておくと普段通り sl コマンドが利用できます。