退役SEのつれづれ日記

定年退役SEが、つれづれなる想いをしたためています。
(旧名:『システムノヲニワソト』)

[docker][SoftwareDesign連載]応用がきくDockerイメージの作り方(series5)

2019-04-02 | Weblog
復習三回目(3,4を諦めたので)。
今回は、「Dockerビルドを速くする」方法を実装です。

記事で紹介されている方法は大きく4種類
(1)ツールをダウンロードする(ミラー)サイトを国内にする
AWSでの処理結果: オリジナル: 46秒 国内ミラー 48秒
SAKURAインターネットでの処理結果:オリジナル:64秒 国内ミラー:56秒
AWSでの性能差がほぼ無いのは、ネットワークの遅延が国内/国外であまり無いからでしょうか?
さくらインターネットでは、1割強の処理時間の改善がありました。

(2)ツールをキャッシュする、マルチステージビルドを利用する
コンテナで必要なファイル・ツールをコンテナ内にキャッシュする。
また、マルチステージビルドを使用して、最終のコンテナイメージを圧縮する。
(参考)「プログラマのためのDocker教科書第二版」・・p162
    「Dockerによるアプリケーション開発環境構築ガイド」・・p059(multi stage機能について)

(3)Dockerfileのコマンドを集約し、途中のスナップイメージを作成しないようにする
コマンドラインを「&&」で連結し、途中のイメージ作成を回避する。
(参考)「プログラマのためのDocker教科書第二版」・・p168(Note:イメージのレイヤーについて)
    「Dockerによるアプリケーション開発環境構築ガイド」・・p102当たりから記載あり

(4)/var/lib/dockerを,メモリー(tmpfs)にマッピングする
さくらインターネットで検証してみましたが、メモリー不足でエラーとなって検証できず。orz

(4)以外、なんとか終了です。

(参考)
1.
ソフトウェアデザイン-2018年12月号
2.
プログラマのためのDocker教科書第二版
3.
Dockerによるアプリケーション開発環境構築ガイド

コメント    この記事についてブログを書く
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« [docker][SoftwareDesign連載... | トップ | [docker]Docker meetup#29に... »