Pradumna Saraf's Avatar

Pradumna Saraf

@pradumnasaraf.dev

Open Source Developer | Docker Captain | Microsoft MVP | DevOps | Owner @rebasemedia All my links: https://links.pradumnasaraf.dev

224
Followers
8
Following
199
Posts
07.05.2023
Joined
Posts Following

Latest posts by Pradumna Saraf @pradumnasaraf.dev

Post image

Play with Docker is now deprecated and no longer available.

If you’re looking for a simple browser-based Docker playground, you can use LabSpaces instead. It will spin up environments instantly and experiment with Docker without installing anything locally.

@docker.com

05.03.2026 05:46 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Using Profiles with Docker Compose Most applications don’t need all Docker Compose services running all the time with the core...

In case you missed it, I wrote a new blog about Docker Compose profiles and how they let you enable or disable services based on what you actually need.

Check it out:
dev.to/pradumnasara...

23.02.2026 14:38 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
A dark-themed code editor displays a `compose.yml` file, which defines three Docker Compose services: `api`, `worker`, and `scheduler`. All three services share the same configuration for `image: myapp:latest`, `restart: unless-stopped`, `volumes: - .:/app`, and environment variables `NODE_ENV: production` and `LOG_LEVEL: info`. Their unique commands are `npm run api`, `npm run worker`, and `npm run scheduler`, respectively. A large red 'X' graphic is prominently featured in the top right corner of the editor window.

A dark-themed code editor displays a `compose.yml` file, which defines three Docker Compose services: `api`, `worker`, and `scheduler`. All three services share the same configuration for `image: myapp:latest`, `restart: unless-stopped`, `volumes: - .:/app`, and environment variables `NODE_ENV: production` and `LOG_LEVEL: info`. Their unique commands are `npm run api`, `npm run worker`, and `npm run scheduler`, respectively. A large red 'X' graphic is prominently featured in the top right corner of the editor window.

A dark-themed code editor displays a Docker Compose file named `compose.yml`. The file defines a reusable `x-common` configuration block, which includes `restart: unless-stopped`, a volume mount of `.:/app`, and environment variables `NODE_ENV: production` and `LOG_LEVEL: info`. Below this, three services are defined: `api`, `worker`, and `scheduler`. Each service uses `myapp:latest` as its image, merges the `*common` configuration, and has a unique `npm run` command (e.g., `npm run api` for the api service). A prominent green checkmark icon is positioned in the top right corner of the window.

A dark-themed code editor displays a Docker Compose file named `compose.yml`. The file defines a reusable `x-common` configuration block, which includes `restart: unless-stopped`, a volume mount of `.:/app`, and environment variables `NODE_ENV: production` and `LOG_LEVEL: info`. Below this, three services are defined: `api`, `worker`, and `scheduler`. Each service uses `myapp:latest` as its image, merges the `*common` configuration, and has a unique `npm run` command (e.g., `npm run api` for the api service). A prominent green checkmark icon is positioned in the top right corner of the window.

If you are repeating the same config and environment variables across multiple Docker Compose files, use YAML anchors.

You can define the config once and reuse it everywhere. This keeps your compose files cleaner, easier to update, and more maintainable.
@docker.com

20.02.2026 04:32 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Using Profiles with Docker Compose In this setup, the backend, frontend, and database form the core of the application and are started...

Here: dev.to/pradumnasara...

02.02.2026 05:54 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Using Profiles with Docker Compose In this setup, the backend, frontend, and database form the core of the application and are started...

Check out my new blog on Docker Compose profiles and how they let you enable or disable services based on what you actually need:

dev.to/pradumnasara...

@docker.com

02.02.2026 05:52 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I'll write a short blog on Docker Compose profiles and publish it soon!

21.01.2026 13:22 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I'll write a short blog and publish it soon!

20.01.2026 07:30 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Being too rigid with tools can hold developers back from better solutions.

16.01.2026 04:59 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Screenshot of a `compose.yml` file showing Docker Compose services with profiles. The `app` service runs by default, while `prometheus` and `grafana` services are configured with a `monitoring` profile and only run when that profile is enabled.

Screenshot of a `compose.yml` file showing Docker Compose services with profiles. The `app` service runs by default, while `prometheus` and `grafana` services are configured with a `monitoring` profile and only run when that profile is enabled.

Did you know Docker Compose has profiles?

You can keep heavy services like Prometheus and Grafana turned off by default, and only start them when you actually need monitoring.

You can start them by running: docker compose --profile monitoring up
@docker.com

12.01.2026 05:08 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 2
Preview
Improving Container Security with Docker Hardened Images Container security remains a significant concern. Base images are bloated and contain unnecessary/or...

Check out my new blog on container security using Docker Hardened Images. I explain what they are, why they matter, and how they help reduce security risks in containers with a simple demo.

dev.to/pradumnasara...

@docker.com

06.01.2026 04:43 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Huge respect to companies that maintain their SDKs along with up-to-date documentation. It’s not easy when APIs change frequently.

22.12.2025 18:53 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Improving Container Security with Docker Hardened Images Container security remains a significant concern. Base images are bloated and contain unnecessary/or...

It's LIVE: dev.to/pradumnasara...

22.12.2025 05:44 πŸ‘ 1 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Blog editor showing the post β€œImproving Container Security with Docker Hardened Images,” featuring a Docker logo graphic, author avatar, and publish controls.

Blog editor showing the post β€œImproving Container Security with Docker Hardened Images,” featuring a Docker logo graphic, author avatar, and publish controls.

Tomorrow!

21.12.2025 13:52 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
A screenshot of the Docker Hub website's "Hardened Images" page. The left sidebar shows user "pradumnasaraf" with navigation links like Repositories, Hardened Images (selected), Collaborations, Settings, Billing, and Usage. The main content area features a banner titled "Docker Hardened Images" with the text "Choose secure, minimal, production-ready images. They're free to use." and a "How it works" button. Below this are a search bar, a "Filter by" dropdown, and a "Make a request" button. The page then displays sections for "Recently added" hardened images (Time MCP Server, MongoDB MCP Server, Memory MCP Server, Docker Hub MCP Server, Grafana MCP Server, GitHub MCP Server) and "Featured" images and Helm charts, including Dart (a hardened image) and Traefik Helm chart.

A screenshot of the Docker Hub website's "Hardened Images" page. The left sidebar shows user "pradumnasaraf" with navigation links like Repositories, Hardened Images (selected), Collaborations, Settings, Billing, and Usage. The main content area features a banner titled "Docker Hardened Images" with the text "Choose secure, minimal, production-ready images. They're free to use." and a "How it works" button. Below this are a search bar, a "Filter by" dropdown, and a "Make a request" button. The page then displays sections for "Recently added" hardened images (Time MCP Server, MongoDB MCP Server, Memory MCP Server, Docker Hub MCP Server, Grafana MCP Server, GitHub MCP Server) and "Featured" images and Helm charts, including Dart (a hardened image) and Traefik Helm chart.

One of the biggest announcements from Docker (@docker.com) this year, at least for me: Docker Hardened Images (DHI) are now free for every developer.

Making secure, minimal, production-ready images available to everyone changes how we think about container security.

17.12.2025 15:39 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Running AI Models with Docker Compose Docker Compose has completely changed the game in how we run and connect a multi-service application....

In case you missed it, I recently wrote about how you can run LLMs with Docker Compose using Docker Model Runner to speed up your AI development. Check it out here:

dev.to/pradumnasara...

11.12.2025 06:02 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Using the "-ft" flag with Docker logs helps you follow the logs and monitor the output of a running container in real-time.

Otherwise, without the flag, you have to keep typing the log command to get output. "-f" is for follow, and "-t" is for timestamps.
@docker.com

10.12.2025 13:02 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

People used to fight over JavaScript frameworks. That still happens, just quieter. Now the fight is between LLM models, and it is a very expensive one.

05.12.2025 04:47 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Clear glass and blue acrylic MVP award with globe engraving. "Microsoft Most Valuable Professional 2025" text. Recognizes technical contributions.

Clear glass and blue acrylic MVP award with globe engraving. "Microsoft Most Valuable Professional 2025" text. Recognizes technical contributions.

Blue crystal award with "MVP" logo for Microsoft Most Valuable Professional. Date "2025" on a clear base. The trophy sits on a wooden surface.

Blue crystal award with "MVP" logo for Microsoft Most Valuable Professional. Date "2025" on a clear base. The trophy sits on a wooden surface.

Exciting news! I’m honoured to share that I am officially a Microsoft MVP in DevOps! πŸŽ‰

I didn’t see this coming. People inside and outside the program say the award is like the β€œOscars of tech,” and I’m truly grateful to Microsoft (@microsoft.com) for recognising me.

#mvpbuzz

01.12.2025 07:09 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
GitHub pull request page showing a proposed change to introduction.md, adding "Akobir" to a list. The pull request is open and titled "Update introduction.md to include 'Akobir' #117".

GitHub pull request page showing a proposed change to introduction.md, adding "Akobir" to a list. The pull request is open and titled "Update introduction.md to include 'Akobir' #117".

Hacktoberfest is over, but spam PRs are not.

26.11.2025 07:13 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I know how much effort Mohammad has put into it (it took him years to release).

Congratulations on your book! Also, thank you for the sweet message on the title page of the book :).

24.11.2025 05:46 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
A hand holds a blue book cover titled "Docker Kubernetes Security" by Mohammad-Ali A'rΓ’bi. The top left features the "DS DockerSecurity.io" logo and website, with "[v1.0.0]" on the top right. A white square with a plus sign is positioned between "Docker" and "Kubernetes" in the main title. Below, it details "Supply Chain Security + Runtime Protection" alongside a stylized white and light blue whale tail design. The author's name, "Mohammad-Ali A'rΓ’bi", is prominent at the bottom, with "Forewords by Hamida Rebai and Liran Tal" beneath it. A black keyboard is partially visible below the book, against a vibrant, blurred orange and red background.

A hand holds a blue book cover titled "Docker Kubernetes Security" by Mohammad-Ali A'rΓ’bi. The top left features the "DS DockerSecurity.io" logo and website, with "[v1.0.0]" on the top right. A white square with a plus sign is positioned between "Docker" and "Kubernetes" in the main title. Below, it details "Supply Chain Security + Runtime Protection" alongside a stylized white and light blue whale tail design. The author's name, "Mohammad-Ali A'rΓ’bi", is prominent at the bottom, with "Forewords by Hamida Rebai and Liran Tal" beneath it. A black keyboard is partially visible below the book, against a vibrant, blurred orange and red background.

A white piece of paper features a handwritten dedication in blue ink at the top, reading "To the best Captain in India," followed by the signature "Mohammad-Ali." Below this, printed in a gothic-style font, is the title "Docker and Kubernetes Security." Underneath the title is a black illustration of a stylized archer, possibly a man, riding a lion-like mythological creature with a bow and arrow. The paper is placed in front of a computer monitor displaying a vibrant, blurry red and orange abstract wallpaper with a row of indistinct application icons at the bottom.

A white piece of paper features a handwritten dedication in blue ink at the top, reading "To the best Captain in India," followed by the signature "Mohammad-Ali." Below this, printed in a gothic-style font, is the title "Docker and Kubernetes Security." Underneath the title is a black illustration of a stylized archer, possibly a man, riding a lion-like mythological creature with a bow and arrow. The paper is placed in front of a computer monitor displaying a vibrant, blurry red and orange abstract wallpaper with a row of indistinct application icons at the bottom.

Thank you, @aerabi.com, for gifting a copy of your newly published book, Docker and Kubernetes Security, and for bringing it all the way from Germany to Istanbul. I will go through it soon.

If you want to learn @docker.com and Kubernetes security, I highly recommend this book.

24.11.2025 05:46 πŸ‘ 5 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

Thank you very much, Eva and the whole team at @docker.com, for the award and for recognising my contribution.

18.11.2025 04:42 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
An awards ceremony where a young man in a black "CAPTAIN SUMMIT" t-shirt and jeans accepts a blue plaque from a young woman, also in a "CAPTAIN SUMMIT" t-shirt and light jeans, who holds a microphone. Behind them, a projector screen displays "Congratulations!" and a photo of the man, identified as "Pradumna Saraf."

An awards ceremony where a young man in a black "CAPTAIN SUMMIT" t-shirt and jeans accepts a blue plaque from a young woman, also in a "CAPTAIN SUMMIT" t-shirt and light jeans, who holds a microphone. Behind them, a projector screen displays "Congratulations!" and a photo of the man, identified as "Pradumna Saraf."

A clear glass plaque stands on a light wooden desk. Etched onto the glass are the words "Tip o' the Captain's Hat" above a circular emblem featuring a cartoon bird wearing a captain's hat, flanked by stylized wings. Below the emblem, the words "-docker- Captains" are etched. The background includes a light wall and a blurred dark monitor to the right.

A clear glass plaque stands on a light wooden desk. Etched onto the glass are the words "Tip o' the Captain's Hat" above a circular emblem featuring a cartoon bird wearing a captain's hat, flanked by stylized wings. Below the emblem, the words "-docker- Captains" are etched. The background includes a light wall and a blurred dark monitor to the right.

One of the unexpected things that happened at Docker Summit in Istanbul was that I won the Most Active Docker Captain award. It was a weird and happy moment because going from just passionately using Docker to actually winning an award from them feels like a full-circle moment.
@docker.com

18.11.2025 04:42 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Also funny thing, I never won any award during my studies or academics. I was telling this to my mother, and she said the current ones are way more important and precious :)

Thank you very much, Eva and the whole team at Docker, for the award and for recognising my contribution.

18.11.2025 04:16 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
A clear glass plaque stands on a light wooden desk. Etched onto the glass are the words "Tip o' the Captain's Hat" above a circular emblem featuring a cartoon bird wearing a captain's hat, flanked by stylized wings. Below the emblem, the words "-docker- Captains" are etched. The background includes a light wall and a blurred dark monitor to the right.

A clear glass plaque stands on a light wooden desk. Etched onto the glass are the words "Tip o' the Captain's Hat" above a circular emblem featuring a cartoon bird wearing a captain's hat, flanked by stylized wings. Below the emblem, the words "-docker- Captains" are etched. The background includes a light wall and a blurred dark monitor to the right.

One of the unexpected things that happened at Docker Summit in Istanbul was that I won the Most Active Docker Captain award. It was a weird and happy moment because going from just passionately using Docker to actually winning an award from them feels like a full-circle moment.

@docker.com

18.11.2025 04:16 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
A screenshot of a `compose.yml` configuration file displayed in a code editor. The file defines a `services` section with an `app` service that uses the `my-app` image and requires `llm` and `embedding-model`. Below this, a `models` section specifies `llm` as `ai/smollm2` and `embedding-model` as `ai/all-minilm`.

A screenshot of a `compose.yml` configuration file displayed in a code editor. The file defines a `services` section with an `app` service that uses the `my-app` image and requires `llm` and `embedding-model`. Below this, a `models` section specifies `llm` as `ai/smollm2` and `embedding-model` as `ai/all-minilm`.

You can define multiple AI models in Docker Compose.

For example, if your app uses an LLM for chat and an embedding model for semantic search, both can be declared together in one file. No need to run models separately and then use them in your compose app.
@docker.com

12.11.2025 05:45 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Also… I won something. Stay tuned for the next post!

05.11.2025 06:00 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image Post image Post image Post image

Docker Captains Summit 2025 in IstanbulπŸ‡ΉπŸ‡· was an incredible experience!

Over 50 Captains from 20+ countries came together for amazing discussions, cultural exchanges, and ideas to make Docker even better.

Huge thanks to the Docker DevRel team for organising everything so smoothly!

05.11.2025 06:00 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Bad logs blame. Good logs explain.

24.10.2025 04:19 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
A webpage displaying a Docker blog post titled "From the Captain's Chair: Pradumna Saraf." The main image in the blog post is a selfie-style shot from a cable car, showing the top of a person's head in the foreground, with lush green mountains, cable lines, and other cable car cabins in the background under a cloudy sky.

A webpage displaying a Docker blog post titled "From the Captain's Chair: Pradumna Saraf." The main image in the blog post is a selfie-style shot from a cable car, showing the top of a person's head in the foreground, with lush green mountains, cable lines, and other cable car cabins in the background under a cloudy sky.

It feels nice to have your interview published on Docker’s official website.

@docker.com

22.10.2025 03:55 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0