<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/docker-lazy-loading-at-grab-accelerating-container-startup-times-nl6artdyl" -->

---
title: Docker lazy loading at Grab: Accelerating container...
description: Grab implemented Docker image lazy loading using SOCI (Seekable OCI) technology to solve slow container startup times caused by large images. The solution...
canonical: https://daily.dev/posts/docker-lazy-loading-at-grab-accelerating-container-startup-times-nl6artdyl
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Docker lazy loading at Grab: Accelerating container startup times | daily.dev
og:description: Grab implemented Docker image lazy loading using SOCI (Seekable OCI) technology to solve slow container startup times caused by large images. The solution...
og:url: https://daily.dev/posts/docker-lazy-loading-at-grab-accelerating-container-startup-times-nl6artdyl
og:image: https://api.daily.dev/og/posts/nl6ArTdyL.png
og:image:alt: Docker lazy loading at Grab: Accelerating container startup times
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Docker lazy loading at Grab: Accelerating container startup times

**[Grab Tech Blog](https://daily.dev/sources/grab)** · 12 min read · 83 upvotes · 4 comments

## Summary

Grab implemented Docker image lazy loading using SOCI (Seekable OCI) technology to solve slow container startup times caused by large images. The solution achieved 4x faster image pull times on fresh nodes, 30-40% faster P95 startup times in production, and 60% improvement in download times after configuration tuning. Unlike traditional image pulls that download all layers before starting, lazy loading uses remote snapshotters to fetch data on-demand via FUSE filesystems. Grab chose SOCI over eStargz because it's natively supported on Bottlerocket OS, doesn't require image conversion, and maintains the same application startup time as standard images while dramatically reducing image pull time.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://engineering.grab.com/docker-lazy-loading>

## Community discussion

Top comments from developers on daily.dev.

**@crispyj** · 0 upvotes

> Great technical depth, while also taking the time to explain the core concepts behind lazy image loading!

**@hoaihuongbk** · 0 upvotes

> Thanks for promoting this blog

**@brunoc** · 0 upvotes

> > image download time on a fresh node was reduced from 60 seconds to 24 seconds, representing a 60% improvement.
>
> Talking about reducing seconds in terms of seconds for **pulling images**, worth it?
> To me is like "let's explain it in % because it sounds better"
>
> How optimized are the Dockerfile's ?
>
> I remember there was a tool called "docker slim" for reducing docker image size based on some techniques.

## Similar posts on daily.dev

- [Accelerating GenAI Workloads With Seekable OCI](https://daily.dev/posts/accelerating-genai-workloads-with-seekable-oci-mqclgivgg) · The New Stack · 1 upvotes · 0 comments

---

Tags: [#aws](https://daily.dev/tags/aws), [#performance](https://daily.dev/tags/performance), [#kubernetes](https://daily.dev/tags/kubernetes), [#docker](https://daily.dev/tags/docker), [#containers](https://daily.dev/tags/containers)

[View this post on daily.dev](https://daily.dev/posts/docker-lazy-loading-at-grab-accelerating-container-startup-times-nl6artdyl)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Docker lazy loading at Grab: Accelerating container startup times","url":"https://daily.dev/posts/docker-lazy-loading-at-grab-accelerating-container-startup-times-nl6artdyl","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/docker-lazy-loading-at-grab-accelerating-container-startup-times-nl6artdyl"},"datePublished":"2026-01-21T05:11:46.207Z","dateModified":"2026-01-21T05:13:07.172Z","description":"Grab implemented Docker image lazy loading using SOCI (Seekable OCI) technology to solve slow container startup times caused by large images. The solution...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a5c3d22a256caf4cae7f9a7308bd0c76?_a=AQAEulh","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a5c3d22a256caf4cae7f9a7308bd0c76?_a=AQAEulh","isAccessibleForFree":true,"articleSection":"Grab Tech Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Grab Tech Blog","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/c8b8850354ee4494a05777b62e42cc62","url":"https://daily.dev/sources/grab"},"commentCount":4,"discussionUrl":"https://daily.dev/posts/docker-lazy-loading-at-grab-accelerating-container-startup-times-nl6artdyl","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":83},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":4}],"keywords":"aws,performance,kubernetes,docker,containers","timeRequired":"PT12M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Grab Tech Blog","item":"https://daily.dev/sources/grab"},{"@type":"ListItem","position":3,"name":"Docker lazy loading at Grab: Accelerating container startup times"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/docker-lazy-loading-at-grab-accelerating-container-startup-times-nl6artdyl","comment":[{"@type":"Comment","text":"Great technical depth, while also taking the time to explain the core concepts behind lazy image loading!","datePublished":"2026-01-27T09:46:43.406Z","url":"https://daily.dev/posts/nl6ArTdyL#c-sZ7siQU0C","author":{"@type":"Person","name":"Jonah L","url":"https://daily.dev/crispyj","image":"https://media.daily.dev/image/upload/s--mqHzLCwm--/f_auto/v1736414481/avatars/avatar_GBtkhwEMmICgh7fAOi7s9"}},{"@type":"Comment","text":"Thanks for promoting this blog","datePublished":"2026-02-22T08:49:12.186Z","url":"https://daily.dev/posts/nl6ArTdyL#c-Myu7mvkgN","author":{"@type":"Person","name":"Huong Vuong","url":"https://daily.dev/hoaihuongbk","image":"https://lh3.googleusercontent.com/a/ACg8ocLhFEntsZi_Z69FL7xpZKENxp9ssiLdecpjBkgiisbSFjX_bXOBMw=s96-c"}},{"@type":"Comment","text":"image download time on a fresh node was reduced from 60 seconds to 24 seconds, representing a 60% improvement.\n\nTalking about reducing seconds in terms of seconds for pulling images, worth it?\nTo me is like “let’s explain it in % because it sounds better”\nHow optimized are the Dockerfile’s ?\nI remember there was a tool called “docker slim” for reducing docker image size based on some techniques.","datePublished":"2026-01-30T11:23:42.036Z","url":"https://daily.dev/posts/nl6ArTdyL#c-hhBF6t9EI","author":{"@type":"Person","name":"Bruno","url":"https://daily.dev/brunoc","image":"https://media.daily.dev/image/upload/s--ROIOlQJx--/f_auto/v1725998163/avatars/avatar_TeZizJZSuBTGwvQCNjapX"}}]}
```

