Docker

Francesco Ciannavei

Docker

My experience with Docker

I started using Docker during my time at TUN2U, where containerization was an integral part of the development workflow. Since then, Docker has become a fundamental tool in my daily work, primarily for creating consistent and replicable development environments.

Using Docker allows me to isolate project dependencies, ensuring that each application has exactly the required software versions without conflicts with other projects. This approach has significantly improved my productivity and eliminated the classic "works on my machine" problems.

DDEV and open source contribution

My main tool for managing Docker containers is DDEV, a platform that simplifies creating development environments for PHP applications. DDEV abstracts the complexity of Docker-Compose, allowing you to quickly start complete environments with databases, web servers, and all necessary services.

I don't just use DDEV as a simple user: I am actively contributing to the open source project, developing new features and improvements. This participation allows me to deeply understand Docker's internal workings and contribute to a tool used by thousands of developers worldwide.

Projects with Docker

A concrete example of Docker usage in my projects is Local RAG Example, a local Retrieval-Augmented Generation system I developed. The project uses Docker to orchestrate various components: the PostgreSQL database with pgvector extension, the Ollama server for language models, and the Go application that handles indexing and semantic search.

Technical skills

I have developed skills in writing optimized Dockerfiles, configuring Docker-Compose to orchestrate multiple services, and managing volumes for data persistence. I understand the fundamental concepts of containerization, including networking, process isolation, and resource management.

Rating
7 /10

Where i've used it: