web-dev-qa-db-ja.com

Dockerイメージのサイズを計算するためのソースコードを見つける

この数は、画像内に追加されるレイヤーのすべてのサイズと同じではないと聞いています。また、占有するディスク領域のサイズでもありません。

今、私はロジックをソースコードでチェックしたいと思います(このリポジトリでは https://github.com/docker/docker-ce )。しかし、コードを何度もナビゲートした後、実際のimag-size計算コードを見つけることができなかったことがわかりました。

では、Dockerはサイズロジックの実行にどの関数/ファイルを使用していますか?

9
Steve

あなたはサイズを得ることができます

$ docker image ls
REPOSITORY  TAG                 IMAGE ID            CREATED             SIZE
nginx       1.12-Alpine         24ed1c575f81        2 years ago        15.5MB

この機能コードはこちら https://github.com/docker/docker-ce/blob/5a0987be9​​3654b685927c2e5c2d18ac01022d20c/components/cli/cli/command/image/list.go

このコードからサイズを取得 https://github.com/docker/docker-ce/blob/524986b1d978e1613bdc7b0448ba2cd16b3988b6/components/cli/cli/command/formatter/image.go

そして最後に必要なのは https://github.com/docker/docker-ce/blob/531930f3294c31db414f17f80fa8650d4ae66644/components/engine/daemon/images/images.go