DockerfileにおけるRUNとcurlを用いたイメージサイズの削減

GitHub 上に公開されているオープンソースのDockerfile では,ADD コマンドを用いてイメージ内にファイルを取り込んでいるケースが存在する.curl コマンドとtar コマンドを用いず,ADD コマンドを使用してイメージ内にファイルを追加するとDockerimege 上で中間レイヤーが肥大化してしまう.ADDコマンドを使用した際にDockerimage のイメージサイズにどの程度影響を与えるかを調べるため,基礎実験を行った.その結果,ADD コマンドを使用してファイルの追加を行う場合イメージサイズが増加することがわかった.そのため,ADD コマンドを使用したDockerfile をそのままビルドすると,Dockerimageのサイズが増加するという課題がある.本項ではこの課題を解決するために,Dockerfile 実行時に自動的にADD コマンドをcurl コマンドとtar コマンドを使用した形へと自動的に変更するソフトウェアを提案する.提案ソフトウェアによって,ADD コマンドを使用していた時に加えリモートURL から取得するファイル分の容量が中間レイヤーが削除され,イメージサイズが削減される.本提案を評価するために,Github上からクローンしたdocker-project というDockerfile を対象として提案適用前と適用後のDockerfile をそれぞれビルドし,Dockerfile のイメージサイズを比較した. その結果, 提案適用前は245MB, 提案適用後は239MB であり, 提案適用後のイメージサイズをは, 提案適用前のイメージサイズをより6MB 削減できた. ...