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

# Container Images

export const CenteredImage = ({src, alt, width, caption, className}) => {
  const [basePath, setBasePath] = useState("");
  useEffect(() => {
    const path = window.location.pathname;
    setBasePath(path === "/docs" || path.startsWith("/docs/") ? "/docs" : "");
  }, []);
  return <Frame caption={caption} className={className} style={{
    maxWidth: width,
    marginInline: "auto"
  }}>
			<OptimizedImage src={`${basePath}${src}`} alt={alt} />
		</Frame>;
};

Container Image caching reduces container startup times by caching both image layers and the often expensive unpacking step locally on a cache volume.

<Steps titleSize="h3">
  <Step title="Faster pulls with one click">
    To enable container image caching, ensure the corresponding option is checked in your [runner profile configuration](https://cloud.namespace.so/workspace/actions/profiles).

    <CenteredImage width={600} alt="profile container image caching" src="/docs/images/github-actions/runnerprofilecontainerimages.webp" />

    That's it!
    Repeated pulls of the same image will now complete in seconds rather than minutes.
  </Step>
</Steps>

## Known incompatibilities for Docker image caching

Docker image caching relies on standard Docker APIs.
However, if you are using a tool that does not fully support Docker APIs, Docker Image caching can break your workflow.
Known issues are:

* Spring Boot [does not provide full image spec compatibility](https://github.com/spring-projects/spring-boot/issues/40100) in their Buildpacks plugin

## Next steps

* [Cache Volumes overview](/docs/solutions/github-actions/caching)
* [Git Checkouts](/docs/solutions/github-actions/caching/git-checkouts)

For advanced configuration see [Runner Labels](/docs/reference/github-actions/runner-configuration).
