<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How to Use Chainguard Containers on</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/</link><description>Recent content in How to Use Chainguard Containers on</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Copyright (c) 2023 Chainguard</copyright><lastBuildDate>Thu, 19 Dec 2024 08:49:15 +0000</lastBuildDate><atom:link href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/index.xml" rel="self" type="application/rss+xml"/><item><title>How to Use Chainguard Containers</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/how-to-use-chainguard-images/</link><pubDate>Thu, 01 Sep 2022 08:49:31 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/how-to-use-chainguard-images/</guid><description>&lt;p&gt;&lt;a href="https://images.chainguard.dev"&gt;Chainguard Containers&lt;/a&gt; are minimal container images designed to reduce vulnerabilities and attack surface compared to traditional base images. These images use the &lt;a href="https://wiki.alpinelinux.org/wiki/Package_management"&gt;apk&lt;/a&gt; package format to achieve smaller sizes while maintaining complete provenance information with cryptographic signatures, ensuring both enhanced security and traceability.&lt;/p&gt;
&lt;p&gt;In this guide, you&amp;rsquo;ll find general instructions on how to get started using Chainguard Containers and how to migrate existing container-based workflows to use our images. For specific image usage instructions, please refer to our &lt;a href="https://images.chainguard.dev"&gt;Chainguard Containers Directory&lt;/a&gt;, which contains the full list of all images available to the public and their respective documentation.&lt;/p&gt;</description></item><item><title>Using the Chainguard Console</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/images-directory/</link><pubDate>Fri, 23 Feb 2024 11:07:52 +0200</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/images-directory/</guid><description>&lt;p&gt;This guide serves as a walkthrough of the Chainguard Console, which is accessible to anyone, but you&amp;rsquo;ll first need to &lt;a href="https://console.chainguard.dev/auth/login"&gt;create an account and log in&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re not ready to create a Chainguard account, you can follow along with the public &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/chainguard-directory/"&gt;Chainguard Directory&lt;/a&gt; which offers similar information, but is only informative as it is not connected to your organization or account. If you use the &lt;em&gt;Sign In&lt;/em&gt; link in the directory, it brings you to the console.&lt;/p&gt;</description></item><item><title>How to Use Chainguard Notifications</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/use-chainguard-notifications/</link><pubDate>Fri, 11 Jul 2025 08:49:31 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/use-chainguard-notifications/</guid><description>&lt;p&gt;You can use the &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/images-directory/"&gt;Chainguard Console&lt;/a&gt; to configure how &lt;strong&gt;Chainguard&lt;/strong&gt; is permitted to send notifications about things like breaking changes to users in your organization. The feature includes options to allow notifications to be sent in-app to the &lt;strong&gt;Activity Center&lt;/strong&gt; on the user’s Overview page in the Chainguard Console, via Slack, and for customers who are opted in, via email.&lt;/p&gt;
&lt;p&gt;These notifications are different from &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/administration/cloudevents/"&gt;Chainguard Events&lt;/a&gt; as Chainguard Notifications are sent by Chainguard’s customer success representatives.&lt;/p&gt;</description></item><item><title>Using the Chainguard Directory</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/chainguard-directory/</link><pubDate>Fri, 23 Feb 2024 11:07:52 +0200</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/chainguard-directory/</guid><description>&lt;p&gt;There are hundreds of Chainguard Containers available for use. To help users explore and better understand all of these container images, we&amp;rsquo;ve developed the Chainguard Directory. This is a free to access web portal that does not require signing in from which you can view information about container images in the Chainguard catalog. This is great for quick searches or while exploring Chainguard&amp;rsquo;s offerings.&lt;/p&gt;
&lt;p&gt;If you want more specific information about what is available to your organization, take a look at the Chainguard Console. You&amp;rsquo;ll first need to &lt;a href="https://console.chainguard.dev/auth/login"&gt;create an account and log in&lt;/a&gt; but there you can interact in a clearer, organization-specific way. If you use the &lt;em&gt;Sign In&lt;/em&gt; link in the directory, it brings you to the console. Learn more about the &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/images-directory/"&gt;Chainguard Console&lt;/a&gt; in the related docs page.&lt;/p&gt;</description></item><item><title>How to Use Chainguard Helm Charts</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/use-chainguard-helm-charts/</link><pubDate>Fri, 11 Jul 2025 08:49:31 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/use-chainguard-helm-charts/</guid><description>&lt;p&gt;&lt;a href="https://helm.sh"&gt;Helm&lt;/a&gt; is a package manager for Kubernetes that simplifies the installation and management of applications by automating the creation of Kubernetes resources. Helm charts are reusable, versioned packages that define a collection of Kubernetes resources required to run an application or service. You use Helm to define, install, and perform upgrades to your applications on Kubernetes.&lt;/p&gt;
&lt;p&gt;For organizations looking to deploy their Chainguard container images with Helm, Chainguard provides upstream-produced Helm charts. These charts are available from the Chainguard Registry and are intended for customers who are either looking to get started with Helm or are looking for better, trusted alternatives to the public charts they may already be using.&lt;/p&gt;</description></item><item><title>How to Use Chainguard iamguarded Helm Charts</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/use-chainguard-iamguarded-helm-charts/</link><pubDate>Fri, 11 Jul 2025 08:49:31 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/use-chainguard-iamguarded-helm-charts/</guid><description>&lt;p&gt;&lt;a href="https://helm.sh"&gt;Helm&lt;/a&gt; is a package manager for Kubernetes that simplifies the installation and management of applications by automating the creation of Kubernetes resources. Helm charts are reusable, versioned packages that define a collection of Kubernetes resources required to run an application or service. You use Helm to define, install, and perform upgrades to your applications on Kubernetes.&lt;/p&gt;
&lt;p&gt;Chainguard offers this limited iamguarded set of Helm charts to go with a set of Chainguard-created containers labeled as iamguarded, designed specifically to support organizations migrating off of Bitnami. The iamguarded charts are forked from upstream Bitnami charts, but now configured out-of-the box for use with Chainguard’s hardened container images. These charts only receive edits necessary to make them work with Chainguard container images and retain the intended functionality of the originals they are based on. Because the iamguarded charts are forks, they may be susceptible to breaking changes introduced by the upstream. In such cases, customers should plan to transition to a community-provided alternative (or an equivalent one from Chainguard) where possible.&lt;/p&gt;</description></item><item><title>Proxy and cache Helm Charts with Artifactory</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/proxy-and-cache/</link><pubDate>Mon, 14 Jul 2025 08:10:31 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/proxy-and-cache/</guid><description>&lt;p&gt;This page shows you how to set up and use Chainguard Helm Charts with Artifactory via remote Helm OCI repositories.&lt;/p&gt;
&lt;h2 id="create-and-configure-helm-oci-repository-in-artifactory" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Create and configure Helm OCI repository in Artifactory&lt;/span&gt;
&lt;a href="#create-and-configure-helm-oci-repository-in-artifactory" class="anchor" aria-label="Link to Create and configure Helm OCI repository in Artifactory" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;From the administration panel within Artifactory, create a remote repository, picking Helm as the repo type. we&amp;rsquo;ll call it &lt;code&gt;iamguarded-charts&lt;/code&gt;&lt;/p&gt;</description></item><item><title>How to Use Chainguard Containers with OpenShift</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/use-with-openshift/</link><pubDate>Tue, 17 Jun 2025 08:49:31 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/use-with-openshift/</guid><description>&lt;p&gt;Chainguard Containers are fully compatible with Red Hat OpenShift Container Platform, providing enhanced security while requiring some configuration adjustments for OpenShift&amp;rsquo;s security context constraints. This guide explains how to successfully deploy Chainguard&amp;rsquo;s minimal, security-hardened container images in OpenShift environments.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.redhat.com/en/technologies/cloud-computing/openshift"&gt;Red Hat OpenShift&lt;/a&gt; is an application platform that orchestrates and manages your systems and resources. While it is based on open source software like Kubernetes, OpenShift includes a suite of applications with additional functionality that are configured to work together.&lt;/p&gt;</description></item><item><title>Using Chainguard Containers in Dev Containers</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/dev-containers/</link><pubDate>Mon, 10 Mar 2025 11:07:52 +0200</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/dev-containers/</guid><description>&lt;p&gt;&lt;a href="https://containers.dev/"&gt;Development Containers&lt;/a&gt; — sometimes known as &amp;ldquo;dev containers&amp;rdquo; — allow you to use a container as a development environment where you can run applications and separate tools, libraries, or runtimes. Dev containers can also help with testing and continuous integration.&lt;/p&gt;
&lt;p&gt;With a few changes, the images based on Wolfi and maintained by Chainguard provide distroless images that can be used as dev containers. This guide outlines how you can set up a Chainguard image as a dev container in VS Code.&lt;/p&gt;</description></item><item><title>Using Init Containers with Chainguard Containers</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/init-containers/</link><pubDate>Mon, 04 Aug 2025 15:21:01 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/init-containers/</guid><description>&lt;p&gt;Chainguard Containers are designed with minimalism and security in mind. By including fewer packages and tools, Chainguard Containers have a smaller attack surface than their counterparts. However, there are cases where the external counterparts have certain desirable features, like useful startup scripts or configuration defaults.&lt;/p&gt;
&lt;p&gt;There are several ways to customize Chainguard Containers. For example, you can use &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/features/ca-docs/custom-assembly/"&gt;Custom Assembly&lt;/a&gt; to add packages to an otherwise minimal Chainguard container image. Changing a Chainguard container image&amp;rsquo;s configuration — such as updating its entrypoint or adding startup scripts — requires a different strategy. One method for doing so in Kubernetes deployments is to use &lt;em&gt;init containers&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Using the Chainguard Static Base Container Image</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/static-base-image/</link><pubDate>Wed, 30 Aug 2023 15:21:01 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/static-base-image/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/ZT6177U0fUM?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="tools-used-in-this-video" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Tools used in this video&lt;/span&gt;
&lt;a href="#tools-used-in-this-video" class="anchor" aria-label="Link to Tools used in this video" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docker.com"&gt;Docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/anchore/grype"&gt;Grype&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="dockerfile" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Dockerfile&lt;/span&gt;
&lt;a href="#dockerfile" class="anchor" aria-label="Link to Dockerfile" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;pre class="highlight" data-language="Dockerfile"&gt;&lt;code class="language-Dockerfile" data-lang="Dockerfile"&gt;FROM cgr.dev/chainguard/go AS build
COPY main.go /main.go
RUN CGO_ENABLED=0 go build -o /hello /main.go
FROM cgr.dev/chainguard/static
COPY --from=build /hello /usr/local/bin/
CMD [&amp;#34;hello&amp;#34;]&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="transcript" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Transcript&lt;/span&gt;
&lt;a href="#transcript" class="anchor" aria-label="Link to Transcript" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;So what&amp;rsquo;s the best container base image to use?&lt;/p&gt;</description></item><item><title>How to Use Container Image Digests to Improve Reproducibility</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/container-image-digests/</link><pubDate>Mon, 07 Aug 2023 15:21:01 +0200</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/container-image-digests/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/xYlLfjgG64E?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="tools-used-in-this-video" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Tools used in this video&lt;/span&gt;
&lt;a href="#tools-used-in-this-video" class="anchor" aria-label="Link to Tools used in this video" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docker.io"&gt;Docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/google/go-containerregistry/tree/main/cmd/crane"&gt;Crane&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="commands-used" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Commands used&lt;/span&gt;
&lt;a href="#commands-used" class="anchor" aria-label="Link to Commands used" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;pre class="highlight" data-language="sh"&gt;&lt;code class="language-sh" data-lang="sh"&gt;docker pull cgr.dev/chainguard/node&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight" data-language="sh"&gt;&lt;code class="language-sh" data-lang="sh"&gt;docker manifest inspect cgr.dev/chainguard/node@sha256:ede7ef4ca485553f5313f7a02ad3537db1fe337079fc7cfb879f44cf709326db&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight" data-language="sh"&gt;&lt;code class="language-sh" data-lang="sh"&gt;crane digest --full-ref cgr.dev/chainguard/node&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight" data-language="sh"&gt;&lt;code class="language-sh" data-lang="sh"&gt;docker pull cgr.dev/chainguard/node:latest@sha256:ede7ef4ca485553f5313f7a02ad3537db1fe337079fc7cfb879f44cf709326db&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="dockerfile" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Dockerfile&lt;/span&gt;
&lt;a href="#dockerfile" class="anchor" aria-label="Link to Dockerfile" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;pre class="highlight" data-language="dockerfile"&gt;&lt;code class="language-dockerfile" data-lang="dockerfile"&gt;FROM cgr.dev/chainguard/go:latest@sha256:7e60584b9ae1eec6ddc6bc72161f4712bcca066d5b1f511d740bcc0f65b05949 AS build
WORKDIR /src
RUN CGO_ENABLED=0 go build -o /bin/server ./src
FROM cgr.dev/chainguard/static AS prod
COPY --from=build /bin/server /bin/
EXPOSE 8000
ENTRYPOINT [ &amp;#34;/bin/server&amp;#34; ]&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="transcript" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Transcript&lt;/span&gt;
&lt;a href="#transcript" class="anchor" aria-label="Link to Transcript" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;&lt;a href="https://youtu.be/xYlLfjgG64E?t=5" target="_blank"&gt;0:05&lt;/a&gt; You might have heard the advice to pin to a digest when using container images.&lt;/p&gt;</description></item><item><title>Reproducible Dockerfiles with Frizbee and Digestabot</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/digestabot_frizbee/</link><pubDate>Fri, 07 Jun 2024 12:21:01 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/digestabot_frizbee/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/FfZZVZ-V5ho?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="tools" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Tools&lt;/span&gt;
&lt;a href="#tools" class="anchor" aria-label="Link to Tools" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/stacklok/frizbee"&gt;Frizbee&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chainguard-dev/digestabot"&gt;Digestabot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="transcript" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Transcript&lt;/span&gt;
&lt;a href="#transcript" class="anchor" aria-label="Link to Transcript" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;I&amp;rsquo;d like to talk about a problem I faced with container builds in the past and a potential solution.&lt;/p&gt;</description></item><item><title>Getting Software Versions from Chainguard Containers</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/version-info-chainguard-images/</link><pubDate>Fri, 07 Jul 2023 15:21:01 +0200</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/version-info-chainguard-images/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/K60-jhVf2I4?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="tools-used-in-this-video" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Tools used in this video&lt;/span&gt;
&lt;a href="#tools-used-in-this-video" class="anchor" aria-label="Link to Tools used in this video" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docker.com"&gt;Docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sigstore/cosign"&gt;Cosign&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="commands-used" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Commands used&lt;/span&gt;
&lt;a href="#commands-used" class="anchor" aria-label="Link to Commands used" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;pre class="highlight" data-language="sh"&gt;&lt;code class="language-sh" data-lang="sh"&gt;cosign download attestation --platform=linux/amd64 \
--predicate-type=https://spdx.dev/Document \
cgr.dev/chainguard/python:latest | jq -r .payload | base64 -d \
| jq -r &amp;#39;.predicate.packages[] | &amp;#34;\(.name) \(.versionInfo)&amp;#34;&amp;#39;&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight" data-language="sh"&gt;&lt;code class="language-sh" data-lang="sh"&gt;docker run cgr.dev/chainguard/wolfi-base ls /var/lib/db/sbom&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="transcript" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Transcript&lt;/span&gt;
&lt;a href="#transcript" class="anchor" aria-label="Link to Transcript" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Hi, I want to record a very short video on how to get software version information out of Chainguard
Containers.&lt;/p&gt;</description></item><item><title>Building Minimal Container Images for Applications with Runtimes</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/minimal-runtime-images/</link><pubDate>Wed, 06 Sep 2023 01:21:01 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/minimal-runtime-images/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/P7pmV-s5ZYY?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="tools-used-in-this-video" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Tools used in this video&lt;/span&gt;
&lt;a href="#tools-used-in-this-video" class="anchor" aria-label="Link to Tools used in this video" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docker.com"&gt;Docker&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="resources" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Resources&lt;/span&gt;
&lt;a href="#resources" class="anchor" aria-label="Link to Resources" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;The Dockerfiles used in this video and other supporting documentation are &lt;a href="https://github.com/chainguard-dev/minimal_images_for_language_runtimes"&gt;available on GitHub&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Installing APK packages in distroless variants</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/install-apks-in-distroless-variants/</link><pubDate>Tue, 21 Apr 2026 00:00:01 +0000</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/install-apks-in-distroless-variants/</guid><description>&lt;p&gt;This page documents workflows for installing APK packages in &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/about/getting-started-distroless/"&gt;distroless variants&lt;/a&gt; of Chainguard container images, such as most builds tagged &lt;code&gt;:latest&lt;/code&gt;. We copy a filesystem from a distroless container image to a build image, install APKs to it using &lt;code&gt;chroot&lt;/code&gt;, then copy the modified filesystem back to the distroless image in the final step.&lt;/p&gt;
&lt;h2 id="overview-installing-packages-in-distroless-containers" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Overview: Installing packages in distroless containers&lt;/span&gt;
&lt;a href="#overview-installing-packages-in-distroless-containers" class="anchor" aria-label="Link to Overview: Installing packages in distroless containers" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;The distroless variants of Chainguard Containers do not contain shells or package managers by design. This reduces attack surface and exploitability for these images. In cases where additional packages are required, we typically recommend the following:&lt;/p&gt;</description></item><item><title>Verifying Chainguard Containers and Metadata Signatures with Cosign</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/verifying-chainguard-images-and-metadata-signatures-with-cosign/</link><pubDate>Mon, 18 Mar 2024 08:59:52 -0700</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/verifying-chainguard-images-and-metadata-signatures-with-cosign/</guid><description>&lt;p&gt;Chainguard signs all container images and their attestations (including SBOMs) to ensure supply chain security and enable verification of image authenticity. These cryptographic signatures allow you to confirm that images come from Chainguard and haven&amp;rsquo;t been tampered with, while attestations provide detailed information about image contents and build provenance.&lt;/p&gt;
&lt;p&gt;This guide outlines how you can use Cosign to download and verify container image signatures and attestations.&lt;/p&gt;
&lt;h2 id="prerequisites" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Prerequisites&lt;/span&gt;
&lt;a href="#prerequisites" class="anchor" aria-label="Link to Prerequisites" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;The following examples require &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/open-source/sigstore/cosign/how-to-install-cosign/"&gt;Cosign&lt;/a&gt; and &lt;a href="https://stedolan.github.io/jq/"&gt;jq&lt;/a&gt; to be installed on your machine in order to download and verify image attestations.&lt;/p&gt;</description></item><item><title>How to Retrieve SBOMs and attestations for Chainguard Containers</title><link>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/retrieve-image-sboms/</link><pubDate>Fri, 17 Nov 2023 11:07:52 +0200</pubDate><guid>https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/retrieve-image-sboms/</guid><description>&lt;p&gt;Chainguard provides a Software Bill of Materials (SBOM) with every container image, enabling complete transparency about package contents and dependencies for security and compliance requirements. These SBOMs are cryptographically signed and attached as attestations, making them retrievable and verifiable. By including only the minimum packages needed, Chainguard Containers reduce attack surface while the SBOM ensures you can verify exactly what&amp;rsquo;s in each image.&lt;/p&gt;
&lt;p&gt;Even though they contain the minimum number of packages, there may come a time when you want to know exactly what&amp;rsquo;s running inside of a certain Chainguard Container. For this reason, Chainguard includes a signed SBOM with each image in the form of a &lt;a href="https://slsa.dev/attestation-model"&gt;software attestation&lt;/a&gt;, allowing you to verify the contents and meet compliance requirements. Chainguard publishes several different types of attestations; see the options under the &lt;a href="https://deploy-preview-3419--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/retrieve-image-sboms/#available-attestation-types"&gt;Available attestation types&lt;/a&gt; section on this page.&lt;/p&gt;</description></item></channel></rss>