{"action":"created","issue":{"url":"https://api.github.com/repos/grammarly/rocker/issues/108","repository_url":"https://api.github.com/repos/grammarly/rocker","labels_url":"https://api.github.com/repos/grammarly/rocker/issues/108/labels{/name}","comments_url":"https://api.github.com/repos/grammarly/rocker/issues/108/comments","events_url":"https://api.github.com/repos/grammarly/rocker/issues/108/events","html_url":"https://github.com/grammarly/rocker/issues/108","id":158754285,"number":108,"title":"Caching doesn't work for CI builds?","user":{"login":"igrayson","id":6943580,"avatar_url":"https://avatars.githubusercontent.com/u/6943580?v=3","gravatar_id":"","url":"https://api.github.com/users/igrayson","html_url":"https://github.com/igrayson","followers_url":"https://api.github.com/users/igrayson/followers","following_url":"https://api.github.com/users/igrayson/following{/other_user}","gists_url":"https://api.github.com/users/igrayson/gists{/gist_id}","starred_url":"https://api.github.com/users/igrayson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igrayson/subscriptions","organizations_url":"https://api.github.com/users/igrayson/orgs","repos_url":"https://api.github.com/users/igrayson/repos","events_url":"https://api.github.com/users/igrayson/events{/privacy}","received_events_url":"https://api.github.com/users/igrayson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-06-06T19:24:28Z","updated_at":"2016-06-06T20:46:59Z","closed_at":null,"body":"Hi team,\r\n\r\nWe use CircleCI for continuous integration. To speed up docker builds (cache hits), I've tried:\r\n\r\n1. `docker save/load` to/from a `.tar` file, which CircleCI copies between builds.\r\n2. `docker push/pull` to/from our repository.\r\n\r\nUsing either technique, rocker doesn't manage any cache hits, and always rebuilds the image entirely. We do `MOUNT` node_modules, so the `npm install` is quicker, but I notice this: still requires us to pessimistically `apk get` dependencies for building native modules; and more importantly causes each build to produce an image which shares no layers with the previous build, causing deployments to slow down as they re-fetch different layers containing ~identical `node_modules`.\r\n\r\nCircleCI uses the btrfs driver.\r\n\r\nIs there any workaround?\r\n\r\nThe following docker issues seem related:\r\n* https://github.com/docker/docker/issues/18179: docker 1.8.2 stopped producing stable ImageIDs through `docker push/pull`.\r\n* https://github.com/docker/docker/pull/17924: docker 1.10 reworked content addressing, such that layers are no longer always guaranteed to be stored as layers.\r\n* https://github.com/docker/docker/issues/20668: describes the behavior change in 1.10 again."},"comment":{"url":"https://api.github.com/repos/grammarly/rocker/issues/comments/224083032","html_url":"https://github.com/grammarly/rocker/issues/108#issuecomment-224083032","issue_url":"https://api.github.com/repos/grammarly/rocker/issues/108","id":224083032,"user":{"login":"igrayson","id":6943580,"avatar_url":"https://avatars.githubusercontent.com/u/6943580?v=3","gravatar_id":"","url":"https://api.github.com/users/igrayson","html_url":"https://github.com/igrayson","followers_url":"https://api.github.com/users/igrayson/followers","following_url":"https://api.github.com/users/igrayson/following{/other_user}","gists_url":"https://api.github.com/users/igrayson/gists{/gist_id}","starred_url":"https://api.github.com/users/igrayson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igrayson/subscriptions","organizations_url":"https://api.github.com/users/igrayson/orgs","repos_url":"https://api.github.com/users/igrayson/repos","events_url":"https://api.github.com/users/igrayson/events{/privacy}","received_events_url":"https://api.github.com/users/igrayson/received_events","type":"User","site_admin":false},"created_at":"2016-06-06T20:46:59Z","updated_at":"2016-06-06T20:46:59Z","body":"Our current workaround: use `docker save/load` with docker 1.9.1. Updating to 1.10 breaks this workaround."}}
{"actor":{"display_login":"igrayson"}}