{"action":"created","issue":{"url":"https://api.github.com/repos/ethereum/go-ethereum/issues/747","labels_url":"https://api.github.com/repos/ethereum/go-ethereum/issues/747/labels{/name}","comments_url":"https://api.github.com/repos/ethereum/go-ethereum/issues/747/comments","events_url":"https://api.github.com/repos/ethereum/go-ethereum/issues/747/events","html_url":"https://github.com/ethereum/go-ethereum/pull/747","id":69320415,"number":747,"title":"Dockerfile: reduce layers from 22 to 14","user":{"login":"karalabe","id":129561,"avatar_url":"https://avatars.githubusercontent.com/u/129561?v=3","gravatar_id":"","url":"https://api.github.com/users/karalabe","html_url":"https://github.com/karalabe","followers_url":"https://api.github.com/users/karalabe/followers","following_url":"https://api.github.com/users/karalabe/following{/other_user}","gists_url":"https://api.github.com/users/karalabe/gists{/gist_id}","starred_url":"https://api.github.com/users/karalabe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karalabe/subscriptions","organizations_url":"https://api.github.com/users/karalabe/orgs","repos_url":"https://api.github.com/users/karalabe/repos","events_url":"https://api.github.com/users/karalabe/events{/privacy}","received_events_url":"https://api.github.com/users/karalabe/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-04-18T15:41:09Z","updated_at":"2015-04-22T14:58:40Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ethereum/go-ethereum/pulls/747","html_url":"https://github.com/ethereum/go-ethereum/pull/747","diff_url":"https://github.com/ethereum/go-ethereum/pull/747.diff","patch_url":"https://github.com/ethereum/go-ethereum/pull/747.patch"},"body":"I went through the Dockerfile and found a lot of operations that could be done in a single build step, as well as a few that were unnecessary. Merging and cleaning these reduced the docker image layers from 22 to 14, which is IMHO a significant amount, especially when downloading from the docker hub.\r\n\r\nThere are probably a few more things that could be optimized to reduce the total size of the downloaded image (e.g. dumping the Go race detector). I'll look into these when time allows :)\r\n\r\n```\r\n> docker images --tree\r\n└─511136ea3c5a Virtual Size: 0 B\r\n  └─f3c84ac3a053 Virtual Size: 188.1 MB\r\n    └─a1a958a24818 Virtual Size: 188.3 MB\r\n      └─9fec74352904 Virtual Size: 188.3 MB\r\n        └─d0955f21bf24 Virtual Size: 188.3 MB Tags: ubuntu:14.04.2\r\n          ├─1ba1e49bee3d Virtual Size: 188.3 MB\r\n          │ └─98f2b9eb0afb Virtual Size: 188.3 MB\r\n          │   └─5533aa79733b Virtual Size: 188.3 MB\r\n          │     └─51e8b2978bc6 Virtual Size: 515.3 MB\r\n          │       └─0cf26d7851e1 Virtual Size: 807.1 MB\r\n          │         └─b654e5daebda Virtual Size: 807.1 MB\r\n          │           └─b3ddd82c1a0e Virtual Size: 1.158 GB\r\n          │             └─ae218b86f582 Virtual Size: 1.158 GB\r\n          │               └─9f4d93f64161 Virtual Size: 1.158 GB Tags: my-client-go:latest\r\n          ├─f3896a2e775b Virtual Size: 188.3 MB\r\n          │ └─4ba4dac83fea Virtual Size: 188.3 MB\r\n          │   └─97f770c6a08a Virtual Size: 188.3 MB\r\n          │     └─d5459349b258 Virtual Size: 188.3 MB\r\n          │       └─3acd0bb93508 Virtual Size: 188.3 MB\r\n          │         └─a94164fbb142 Virtual Size: 237 MB\r\n          │           └─3b0d61a0fbd2 Virtual Size: 519 MB\r\n          │             └─0a63526ab08d Virtual Size: 581.4 MB\r\n          │               └─811e4735624e Virtual Size: 810.8 MB\r\n          │                 └─3e573791bd56 Virtual Size: 810.8 MB\r\n          │                   └─387003fa84a6 Virtual Size: 810.8 MB\r\n          │                     └─3127181c6802 Virtual Size: 1.116 GB\r\n          │                       └─8cc5952bc39a Virtual Size: 1.116 GB\r\n          │                         └─f8e70a768af1 Virtual Size: 1.117 GB\r\n          │                           └─93f4a0ce5c32 Virtual Size: 1.162 GB\r\n          │                             └─931cd0599465 Virtual Size: 1.162 GB\r\n          │                               └─80e8a8deec12 Virtual Size: 1.162 GB Tags: ethereum/client-go:latest\r\n```"},"comment":{"url":"https://api.github.com/repos/ethereum/go-ethereum/issues/comments/95221750","html_url":"https://github.com/ethereum/go-ethereum/pull/747#issuecomment-95221750","issue_url":"https://api.github.com/repos/ethereum/go-ethereum/issues/747","id":95221750,"user":{"login":"caktux","id":13692,"avatar_url":"https://avatars.githubusercontent.com/u/13692?v=3","gravatar_id":"","url":"https://api.github.com/users/caktux","html_url":"https://github.com/caktux","followers_url":"https://api.github.com/users/caktux/followers","following_url":"https://api.github.com/users/caktux/following{/other_user}","gists_url":"https://api.github.com/users/caktux/gists{/gist_id}","starred_url":"https://api.github.com/users/caktux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/caktux/subscriptions","organizations_url":"https://api.github.com/users/caktux/orgs","repos_url":"https://api.github.com/users/caktux/repos","events_url":"https://api.github.com/users/caktux/events{/privacy}","received_events_url":"https://api.github.com/users/caktux/received_events","type":"User","site_admin":false},"created_at":"2015-04-22T14:58:40Z","updated_at":"2015-04-22T14:58:40Z","body":"And by binary release, you mean from the PPA."}}