全力で怠けたい

怠けるために全力を尽くしたいブログ。

banner コマンドを Dockerfile にしたメモ。

banner) コマンドを Dockerfile にしたのでメモしておく。

banner コマンドの Dockerfile

仕事をしてるとたまに banner コマンドを使うときがある。 普段は Mac で作業してて Mac に入ってる banner コマンドは BSD 版で縦出力なんだけど、自分は縦出力じゃなくて横出力したいことが多くて banner コマンドを使うときは適当な Linux 機に入って banner コマンドを使ってる。Linux 機に入って banner コマンドを打つのはまあまあ面倒くさいので Dockerfile にした。

Dockerfile

Dockerfile はこんな感じにしてる。

FROM centos:7

RUN yum install -y epel-release && \
        yum install -y banner

COPY docker-entrypoint.sh /usr/local/bin

ENTRYPOINT ["docker-entrypoint.sh"]

docker-entrypoint.sh はこんな感じ。

#!/bin/sh

banner "$@"

使い方

こんな感じで使ってる。

$ docker image build --tag docker-banner .

$ docker container run --rm -it docker-banner Hello

#     #  #######  #        #        #######
#     #  #        #        #        #     #
#     #  #        #        #        #     #
#######  #####    #        #        #     #
#     #  #        #        #        #     #
#     #  #        #        #        #     #
#     #  #######  #######  #######  #######

banner コマンドの入力が複数あると改行する。改行したくなかったら "aaa bbb" みたいにする。

$ docker container run --rm -it docker-banner aaa bbb

   #        #        #
  # #      # #      # #
 #   #    #   #    #   #
#     #  #     #  #     #
#######  #######  #######
#     #  #     #  #     #
#     #  #     #  #     #


######   ######   ######
#     #  #     #  #     #
#     #  #     #  #     #
######   ######   ######
#     #  #     #  #     #
#     #  #     #  #     #
######   ######   ######

$ docker container run --rm -it docker-banner "aaa bbb"

   #        #        #           ######   ######   ######
  # #      # #      # #          #     #  #     #  #     #
 #   #    #   #    #   #         #     #  #     #  #     #
#     #  #     #  #     #        ######   ######   ######
#######  #######  #######        #     #  #     #  #     #
#     #  #     #  #     #        #     #  #     #  #     #
#     #  #     #  #     #        ######   ######   ######

入力が長くて途中で切れちゃうときは --env COLUMNS=100 みたいにして COLUMNS 環境変数を設定して実行すると途中で切れなくなる。

$ docker container run --rm -it docker-banner "Hello World"

#     #  #######  #        #        #######        #     #  #######  ######
#     #  #        #        #        #     #        #  #  #  #     #  #     #
#     #  #        #        #        #     #        #  #  #  #     #  #     #
#######  #####    #        #        #     #        #  #  #  #     #  ######
#     #  #        #        #        #     #        #  #  #  #     #  #   #
#     #  #        #        #        #     #        #  #  #  #     #  #    #
#     #  #######  #######  #######  #######         ## ##   #######  #     #

$ docker container run --rm -it --env COLUMNS=100 docker-banner "Hello World"

#     #  #######  #        #        #######        #     #  #######  ######   #        ######
#     #  #        #        #        #     #        #  #  #  #     #  #     #  #        #     #
#     #  #        #        #        #     #        #  #  #  #     #  #     #  #        #     #
#######  #####    #        #        #     #        #  #  #  #     #  ######   #        #     #
#     #  #        #        #        #     #        #  #  #  #     #  #   #    #        #     #
#     #  #        #        #        #     #        #  #  #  #     #  #    #   #        #     #
#     #  #######  #######  #######  #######         ## ##   #######  #     #  #######  ######

参考サイト