{"action":"closed","issue":{"url":"https://api.github.com/repos/conan-io/conan-docker-tools/issues/89","repository_url":"https://api.github.com/repos/conan-io/conan-docker-tools","labels_url":"https://api.github.com/repos/conan-io/conan-docker-tools/issues/89/labels{/name}","comments_url":"https://api.github.com/repos/conan-io/conan-docker-tools/issues/89/comments","events_url":"https://api.github.com/repos/conan-io/conan-docker-tools/issues/89/events","html_url":"https://github.com/conan-io/conan-docker-tools/issues/89","id":391362831,"node_id":"MDU6SXNzdWUzOTEzNjI4MzE=","number":89,"title":"reduce size of docker images - review installed software","user":{"login":"SSE4","id":870236,"node_id":"MDQ6VXNlcjg3MDIzNg==","avatar_url":"https://avatars1.githubusercontent.com/u/870236?v=4","gravatar_id":"","url":"https://api.github.com/users/SSE4","html_url":"https://github.com/SSE4","followers_url":"https://api.github.com/users/SSE4/followers","following_url":"https://api.github.com/users/SSE4/following{/other_user}","gists_url":"https://api.github.com/users/SSE4/gists{/gist_id}","starred_url":"https://api.github.com/users/SSE4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SSE4/subscriptions","organizations_url":"https://api.github.com/users/SSE4/orgs","repos_url":"https://api.github.com/users/SSE4/repos","events_url":"https://api.github.com/users/SSE4/events{/privacy}","received_events_url":"https://api.github.com/users/SSE4/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2018-12-15T09:51:54Z","updated_at":"2019-01-02T07:41:27Z","closed_at":"2019-01-02T07:41:27Z","author_association":"CONTRIBUTOR","body":"currently provided docker images are pretty heavyweight. for instance, `conanio/gcc8` currently takes 1,03Gb. as docker images are pulled on each build, it introduces additional delay on build job, which scales linearly based on number of travis jobs. I think it makes a priority to keep our docker images as small as possible. I have reviewed `conanio/gcc8` image a bit (via [ncdu](https://dev.yorhel.nl/ncdu) program - `sudo ncdu /` command) and spot the following:\r\n\r\n- `valgrind` - `/usr/lib/valgrind` takes **63,7 Mb**. I believe valgrind is usually used only for memory profiling, is it really necessary to include it into build images?\r\n- `vim` -  `/usr/share/vim` takes **31 Mb**. also, do we need text editor, especially such a heavy-weight as part of build images?\r\n- `cmake` - obviously, CMake itself is required, no doubts here. however, `/usr/bin/cmake-gui` is **24,7 Mb,** plus `/doc/cmake` is **24,2 Mb**, plus `/usr/share/cmake-3.12/Help` is **6,3 Mb**. I don't think we need GUI and documentation for CI builds, right?\r\n- `python` - first off, we install python 3.7, but there is python 3.6 installation (seems like it's dependency of some other package) - not sure if we can avoid having two pythons? second, `/opt/pyenv/versions/3.7.1/lib/python3.7/test/__pycache__` takes **32Mb** - I doubt we need it at all. there are few other `__pycache__` directories around.\r\n\r\nfrom approximate calculation, removing the above may easily save **~200Mb** per image (which is 20% of size).\r\n\r\nNOTE: docker pull time on travis is currently around 30-40 seconds.\r\n\r\n/cc @lasote @uilianries @danimtb @jgsogo @memsharded "}}
{"actor":{"display_login":"lasote"}}