DockerUI
DockerUIを入れてみました。
DokcerUI自体もDocker Imageが提供されており、下記コマンド一つで起動可能です。
docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock dockerui/dockerui
コンテナの起動・停止やイメージのリスト、コンテナ間のネットワーク状態などもグラフィカルに確認可能で便利です。
DokcerUIのimageサイズを見て見ると、たったの5.8MBしかない!
なんで、こんなサイズで動くのかと少し調べてみました。
DockerUIのDockerfileは非常にシンプルで下記の構成になっています。
FROM scratch
COPY dist /
EXPOSE 9000
ENTRYPOINT ["/dockerui"]
scratchイメージ
scratchというベースイメージが使われており、これは超最小化されたベースイメージでshさえ入っていないようです。
Dockerのscratchイメージを探検する
でもこれだけではwebサーバーとして、どうして動くのか分かりません。
少し調べて見ると、go言語のhttpサーバー機能が使われているようでした。
dockerui.go
Go言語でhttpサーバーを立ち上げてHello Worldをする
動的言語だけやってた僕が、38日間Go言語を書いて学んだこと
dockerとscratchイメージとgo言語を使えばたったの5.8MBでwebアプリを構成する事が可能なんですね。これはうれしい驚きでした。