追記 (2019/04/16)
URL も含めもろもろ更新したので、最新情報については下記をご参照ください。
- GitHub: tily/nifcloud-computing-cli-docker
- Docker Hub: tily/nifcloud-computing-cli
はじめに
調べものをしてて見つけた aws-cli-docker が便利そうだったので、ニフティクラウド Computing CLI 用の docker イメージを作ってみた。
使い方
$ cat .env
NIFTY_CLOUD_URL=https://west-1.cp.cloud.nifty.com/api/
NIFTY_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXX
NIFTY_SECRET_KEY=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
$ docker run --env-file .env --rm tily/niftycloud-computing-cli nifty-describe-instances
docker さえインストールしてあればどこでもニフティクラウド Computing CLI が使えるようになって便利。
ハマりポイント等
docker コンテナ内のロケール設定
最初 Docker コンテナイメージ内のロケールをうまく設定できず、CLI でエラーが発生したときに正常にえらメッセージを表示することができなかった。
$ docker run -ti --rm tily/niftycloud-computing-cli nifty-describe-instances
A help cannot be displayed. Please check language setting.
$ docker run -e LC_ALL=ja_JP.utf-8 -ti --rm tily/niftycloud-computing-cli nifty-describe-instances
bash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.utf-8)
bash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.utf-8)
A help cannot be displayed. Please check language setting.
Docker: コンテナのlocaleを設定したい - Qiita や language support - warning: setlocale: LC_ALL: cannot change locale - Ask Ubuntu を参考にして、下記のように Dockerfile に書いたらうまく日本語でエラーメッセージが表示されるようになった。
RUN apt-get update && apt-get install -y locales locales-all
RUN locale-gen ja_JP.utf-8
RUN update-locale
ENV LANG ja_JP.utf-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.utf-8
Docker Hub への push のやり方
久しぶりにやったのですっかり忘れていたけど、あまり手間どらずにこんな感じでやったらできた。
$ docker build -t tily/niftycloud-computing-cli .
$ docker login
$ docker push tily/niftycloud-computing-cli