2025-07-23 –, Main Room 1 (Main stage)
A great Dockerfile for Julia should:
1. Contain a depot with a precompiled Manifest.
2. Rebuild fast and efficiently - only changed code should be recompiled.
3. Be as light as possible with no unnecessary files in its layers.
In this talk I will present some clever ways on how to abuse Dockerfile RUN --mount
to achieve fully cached rebuilds. I will also share tips on how to manage your depot and solve other common issues a Julia user might experience when writing an advanced Dockerfile.
Containerization is considered a basic skill in a developer toolbox, so packaging up Julia code into images will definitely fall into a Julia developer's task list sooner than later. Writing a naive Dockerfile for Julia is simple, but writing a great one is not a trivial task.
I've written several Dockerfiles for various Julia projects and I will try to share all the tricks on how to make your Dockerfile better for both development and production use cases.
Please note this talk assumes at least a basic to intermediate understanding of Docker and building images. Introductory concepts will not be covered as part of the talk.
Software Engineer at JuliaHub, Cluster Team
I've been involved with Julia since 2018. Currently working on the core JuliaHub platform mostly around backend and cluster related capabilities. I graduated from Warsaw University of Technology with a M.Sc. in Computer Science and B.Sc. in Automatic Control and Robotics.