---
title: "💭 Production-ready Python Docker Containers with uv"
description: "!https://hynek.me/articles/docker-uv/"
date: 2024-11-15
published: true
tags:
  - python
  - docker
  - thought
template: link
---


<div class="embed-card embed-card-external">
  <a href="https://hynek.me/articles/docker-uv/" class="embed-card-link" target="_blank" rel="noopener noreferrer">
    <div class="embed-card-image">
      <img src="https://static.hynek.me/cards/docker-uv.png?c764cb8" alt="Production-ready Python Docker Containers with uv — Starting with 0.3.0, Astral’s uv brought many great features, including support for cross-platform lock files uv.lock. Together with subsequent fixes, it has become Python’s finest workflow tool for my (non-scientific) use cases. Here’s how I build production-ready containers, as fast as possible." loading="lazy">
    </div>
    <div class="embed-card-content">
      <div class="embed-card-title">Production-ready Python Docker Containers with uv</div>
      <div class="embed-card-description">Starting with 0.3.0, Astral’s uv brought many great features, including support for cross-platform lock files uv.lock. Together with subsequent fixes, it has become Python’s finest workflow too...</div>
      <div class="embed-card-meta">Hynek Schlawack &middot; hynek.me</div>
    </div>
  </a>
</div>


Hynek has a sick dockerfile setup for using uv in python projects.

!!! note

    This post is a <a href="/thoughts/" class="wikilink" data-title="Thoughts" data-description="These are generally my thoughts on a web page or some sort of url, except a rare few don&#39;t have a link. These are dual published off of my..." data-date="2024-04-01">thought</a>. It's a short note that I make
    about someone else's content online <a href="/tags/thoughts/" class="hashtag-tag" data-tag="thoughts" data-count=2 data-reading-time=3 data-reading-time-text="3 minutes">#thoughts</a>
