Hello Docker
This was an attempt to learn about Docker by starting from the beginning.
A better approach to the problem might be Setting up a multicontainer Docker application for local development.
What is Docker?
“Docker is a set of platform as a service (PaaS) products that use operating-system-level virtualization to deliver software in packages called containers.”1
Docker packages languages, libraries, databases, etc., into a container that runs the same way everywhere. A container is something like a virtual machine. It shares the computer’s kernel, but has its own filesystem, network, and process space.
The key components of Docker
-
Images: read only templates that are used to build containers. Images are used to store and ship applications.
-
Containers: running instances of images, the environments where applications are run
-
Dockerfile: a text file with instructions for building an image
-
Docker Hub: a registry for sharing pre-built images, official images for Postgres, Redis, Chroma, etc.
Docker on Omarchy
Omarchy installs everything you need to run [Docker] well. This includes Docker itself, Docker Compose, and the user group changes needed for you to run Docker as the normal user and not root.
Remember to checkout the Lazydocker command to manage your containers in a cool TUI using
Super + Shift + D.You can setup the common databases for local development in Docker using
Install > Development > Docker DBin the Omarchy menu. https://learn.omacom.io/2/the-omarchy-manual/62/development-tools#docker
Run Chroma in a Docker Container
You can run a Chroma server in a Docker container, and access it using the HttpClient: https://docs.trychroma.com/guides/deploy/docker
…This approach to understanding Docker from start to finish seems hopeless/boring… See Setting up a multicontainer Docker application for local development.
References
-
“Docker (software)”, Wikimedia Foundation, November 14 2025, https://en.wikipedia.org/wiki/Docker_(software) ↩︎