Pythonベースイメージの事前pullによるDockerイメージのビルド時間の短縮
- 著者:
- ラベル: CDSL-TR-172
- 公開日: Jan. 16, 2024
- 更新日: Jan. 16, 2024
- ダウンロード数: 0
Dockerfile を記述する際,ベースイメージを指定する.ローカル内に,指定したベースイメージが存在しない場合,Docker イメージをビルドする際にベースイメージのpull が行われる.そのため,このpull 時間の分だけ,ビルド時間が増加してしまう.イメージの容量がpull 時間に与える影響を調べるために,基礎実験を行った.その結果,イメージの容量の増加に伴って,pull 時間が増加することが分かった.そのため,Docker 及びPython を用いた開発においてDocker イメージをビルドする際に,Python ベースイメージをpull する時間が長いことによって作業が停滞してしまい,開発が円滑に進まなくなってしまうという課題がある.本稿ではこの課題を解決するために,Python ベースイメージを,開発者がPythonのソースコードを記述している時に事前にpull するソフトウェアである,Pullior を提案する.Pullior によってビルド時に行われるベースイメージのpull を省略し,ビルド時間を短縮することができる.本提案を評価するために,Github からQBittorrentBot というリポジトリをclone し,これに対して提案を適用することで,提案適用前と適用後のビルド中のpull 時間及びビルド時間を比較した.その結果,提案適用前は11.1 秒と22.4 秒,提案適用後は約0.0 秒と8.7 秒であり,提案適用後のビルド時間を,提案適用前のビルド時間に比べて約61%短縮することができた. ...