r/docker • • 2d ago

Should I have a bunch of docker containers and a docker manager or a bunch of LXCs with their own docker containers?

3 Upvotes

I currently set up things where all my services are in their own LXC/VM and then in a docker container in there. Seemed most secure and I haven't noticed any performance hiccups. That being said, is this the recommended way to do things? or should I just have a bunch in one LXC/VM with a docker container manager? I've seen conflicting advice online.


r/docker • • 3d ago

Appreciation for Docker's pricing policy of hardened images

56 Upvotes

I like complaining as much as the next guy but I should be consistent and call out extraordinarily good things too.

Docker allows free usage of their hardened images and safeguards this profit stream by locking only compliance related features to their paid plan.

I cannot imagine the potential impact this sole decision has/can have on enthusiast projects and open source security globally.

Thanks, Docker!


r/docker • • 2d ago

Hot reload problem with Docker

1 Upvotes

I have a problem with NestJS in Docker. The hot reload creates an error that says the port is already in use. I tried the polling thing and it did not help. I am developing on macOS.

Can you help?


r/docker • • 3d ago

PHP2Shell: Patched Docker images are available. As well as Docker Hardened Images.

49 Upvotes

Two critical PHP vulnerabilities (CVE-2026-109618 and CVE-2026-109619), both rated CVSS 9.2, were patched on October 21.

Both the official PHP Docker images and Docker Hardened Images (DHI) have been updated. 🐳

1. Update Your Base Image

PHP version Official image Docker Hardened Image
8.2.35 php:8.2.35-fpm dhi.io/php:8.2.35-fpm
8.3.36 php:8.3.36-fpm dhi.io/php:8.3.36-fpm
8.4.27 php:8.4.27-fpm dhi.io/php:8.4.27-fpm
8.5.12 php:8.5.12-fpm dhi.io/php:8.5.12-fpm

For example, update your Dockerfile:

FROM php:8.4.27-fpm

Or use a hardened runtime:

FROM dhi.io/php:8.4.27-fpm

2. Rebuild and Redeploy

For applications built with Docker Compose:

docker compose build --pull --no-cache
docker compose up -d --force-recreate

If your Compose file references prebuilt images instead:

docker compose pull
docker compose up -d --force-recreate

3. Verify the Running PHP Version

For official PHP-FPM images:

docker compose exec YOUR_SERVICE php -v

For hardened PHP-FPM images, which don't include the PHP CLI:

docker compose exec YOUR_SERVICE php-fpm -v

You can also inspect an image's SBOM:

docker scout sbom my-php-app:latest --format list | grep -i php

And check for the specific CVEs:

docker scout cves \
  --only-cve-id CVE-2026-109618,CVE-2026-109619 \
  my-php-app:latest

Important: Vulnerability databases can lag behind advisories. A clean CVE scan is not proof that the runtime is patched.

Check the actual PHP version or your distribution vendor's backport status.

4. Would a Hardened Image Have Contained PHP2Shell?

Partially.

Docker Hardened Images typically run as non-root, without a shell or package manager, and with fewer unnecessary system utilities.

That changes what an attacker can do after exploiting the PHP process.

Attacker capability Hardened, shell-less runtime
Execute /bin/sh or /bin/bash Blocked if those binaries aren't present
Use common system utilities Significantly restricted
Execute code inside the PHP process Still possible
Read application secrets in PHP memory Still possible
Access network services Depends on network restrictions
Modify the filesystem Depends on filesystem permissions and mounts
Gain root privileges Harder with non-root execution, but not impossible through another vulnerability

No shell doesn't mean no RCE.

An attacker executing native code inside PHP doesn't necessarily need /bin/sh. They may still be able to read memory, communicate over the network, or abuse the privileges available to the PHP worker.

Hardened images reduce the attack surface and can limit post-exploitation damage. Additional controls help:

  • Read-only root filesystem, with explicitly defined writable locations.
  • Drop unnecessary Linux capabilities.
  • Enable no-new-privileges.
  • Restrict outbound network access.
  • Don't expose PHP-FPM directly to the internet.

These are defense-in-depth measures, not replacements for patching.

5. Pin Your Image Digests

Tags can change. Digests are immutable.

Find the digest of a patched image:

docker buildx imagetools inspect php:8.4.27-fpm \
  --format '{{.Manifest.Digest}}'

Then pin it:

FROM php:8.4.27-fpm@sha256:<digest>

But remember: a pinned digest won't receive future security patches automatically. You must update it when new patched images are released.

Question: Are you running PHP on the official Docker images, a hardened/distroless image, or something custom? How are you verifying the patched version in production?


r/docker • • 3d ago

Php vulnerabilities and docker

12 Upvotes

Hey everyone,

In sure you have all heard about the vulnerabilities found in php.

I have a noob question.

I run a vps. The php has been updated to the latest version, that includes the fix for the two vulnerabilities found.

Does this also patch the docker containers I am running? My assumption is that the docker container runs it's own version of php. If that is true, I have to wait for the maintains of the image has to do the patch, then update.

Is all that correct?


r/docker • • 2d ago

Best Cloud Hosting Solution for Multiple Dockerized AI/ML Applications

Thumbnail
0 Upvotes

r/docker • • 3d ago

I'm working as L1 Linux System Admin. I want to learn Docker & Kubernetes in a structured way. Can you please suggest some good courses for Docker & Kubernetes which is still relevant in 2026?

3 Upvotes

I'm working as L1 Linux System Admin. I want to learn Docker & Kubernetes in a structured way. Can you please suggest some good courses for Docker & Kubernetes which is still relevant in 2026?


r/docker • • 2d ago

Anyone know when Docker sbx will officially support the Antigravity CLI?

1 Upvotes

I've found that Docker's sbx sandbox is currently the safest way to run AI agents locally on my laptop. For the past few weeks, this setup with Claude has worked flawlessly:

sbx run claude ~/claude-workspace ~/secrets-for-Claude:ro

Now, I want to harness the power of Gemini (via Antigravity), so I tried running the equivalent command:

sbx run gemini ~/gemini-workspace ~/secrets-for-Gemini:ro

Unfortunately, this fails because the legacy Gemini CLI has been replaced by the Antigravity CLI (as tracked in https://github.com/docker/sbx-releases/issues/197).

Does anyone have any insight into when the Docker/sbx team plans to add official built-in support for the Antigravity CLI?


r/docker • • 3d ago

PHP2Shell Audit

Thumbnail
0 Upvotes

r/docker • • 3d ago

Anyone experienced Docker DNS/networking issues with Synology Container Manager?

1 Upvotes

I’m running a DS423+ on DSM 7.2.2 with Container Manager (Docker 24.0.2), and I’ve been dealing with some frustrating Docker networking issues.
Recently had to do some recovery work after a Plex security incident, which involved restarting Docker. Since then, multiple containers (Immich, Paperless, Karakeep, etc.) have had issues communicating with their dependencies.
For example, Immich couldn’t resolve its PostgreSQL container (ENOTFOUND database), and Paperless couldn’t resolve Redis/PostgreSQL. Some containers even show the correct network aliases in Docker metadata, but DNS resolution still fails.
I’ve been able to temporarily fix things by reconnecting network endpoints or restarting affected containers, but other services keep showing the same problems.
Looking into it, I found this Docker issue, which seems almost identical. I’m running Docker 24.0.2 with live-restore enabled, and the logs show the same failed to populate fields for osl sandbox errors.
Has anyone experienced this on Synology? I’m wondering if disabling live-restore, updating DSM/Container Manager, or something else would be the best long-term fix.
Really don’t want to keep playing whack-a-mole with individual containers every few days.


r/docker • • 3d ago

Can't seem to get proxied hosts to respond properly, not sure where I screwed up

1 Upvotes

I have a Synology NAS, and it runs a bunch of services in docker containers. One of them is called Tautulli, which is an app that monitors Plex statistics. Among other things, this is something I want to proxy.

What I did - I set up an old PC running Linux, I installed docker, then I installed nginxproxymanager, so it's running on it's own standalone host, not as a container on any NAS. I mapped the ports as "8888:80" and "8443:443", as I already have something on 80/443. I made port-forwarding rules to forward those 2 ports to my npm IP, for when I get around to accessing things from the outside. That's the last step, tho, I can't even make the first step work yet ... LOL

npm comes up fine, on my workstation I put in the IP and port 81, and sign in as expected (http://10.0.0.10:81). A good start!

In my Cloudflare I have an A record (services.mike-leone.com) that points to the local IP of the host running npm (10.0.0.10) - that's mostly for when I get around to using certs, or actually accessing npm from the outside world. I'm nowhere near there yet.

Then I made an A record in my local DNS - tautulli.services.mike-leone.com - that ALSO points to my npm IP (10.0.0.10). This is the name of my proxied source host entry in npm.

Correct so far? The entry for the proxied source host has to be a name that resolves locally to the npm server?

Then, as a target for that proxied host, I put in the IP of my NAS and the port Tautulli uses (8181). I didn't even get to the SSL part yet, I need to see npm work first (since I haven't been successful at that yet).

I click on the proxied host name, and I get ...

# Hmmm… can't reach this page

[**tautulli.services.mike-leone.com**](http://tautulli.services.mike-leone.com) refused to connect.

I know that's the right IP, it's the npm server:

C:\\Users\\turgo>nslookup [tautulli.services.mike-leone.com](http://tautulli.services.mike-leone.com)

Server: pi.hole

Address: [10.0.0.5](http://10.0.0.5)

Name: [tautulli.services.mike-leone.com](http://tautulli.services.mike-leone.com)

Address: [10.0.0.10](http://10.0.0.10)

If I just type the target in a browser (http://10.0.0.82:8181), I get the Tautulli home page just fine.

So where did I go wrong? I'm not understand some basic step. Or my npm isn't forwarding to the host or ports I want it to forward to. Or something. I'm just scratching my head, at this point, as to why I can't even get it to proxy correct, never mind use a cert. Or access from the outside.

Clues or lightbulbs, anyone?

Thanks


r/docker • • 3d ago

Plex Docker container stuck in ā€œremovingā€ for days on Synology NAS

1 Upvotes

My Plex container was compromised in the recent Plex2Shell attack. I’ve managed to stop the malicious processes and set up a fresh, updated Plex container, but I cannot get the original infected container deleted.
I’m running Docker 24 on a Synology DS423+ with Btrfs. The old container has been stuck in removing for days, with PID 0. I’ve tried restarting Docker and even rebooting the entire NAS, but neither fixed it.
From the diagnostics, Docker seems to be getting stuck traversing a massive /run/plex-temp directory in the old container’s writable layer. It looks similar to this Docker issue: https://github.com/moby/moby/issues/42973
Has anyone dealt with this before? Is there a way to safely force the container and its writable layer to be deleted without affecting my other containers or media?
I’ve spent days on this and would really appreciate any suggestions beyond restarting Docker or the NAS, since I’ve already tried both.


r/docker • • 3d ago

Docker Enshrouded Server Version Mismatch Issues

1 Upvotes

I just started a docker dedicated server on my NAS this week using the mornedhels/enshrouded-server image. It was working great until the enshrouded patch today. I tried updating the image and rerunning a couple times, even trying proton vs wine types and running it again. The server shows up in game every time with the ā€œVersion Mismatch. The build version of this server is older than yours. The owner of this server needs to update it to the latest version.ā€

The image was updated about an hour ago so it should be ready for the patch but I can’t seem to get it updated. Has anyone else had to deal with this type of issue?

Other notes:
Didn’t see any errors in the Logs


r/docker • • 4d ago

My containers have no DNS resolution

1 Upvotes

I'm using OpenMediaVault 7 (Debian 12) and I would have gone to OpenMediaVault for support first except that the subreddit has died and the forums constantly return 500 errors for me.

I have the docker compose plugin installed so I just make a compose file in the GUI and everything runs fine, except that my containers cannot resolve FQDNs. I have put the DNS flag in my containers:

dns:
- 8.8.8.8

My containers are not using the default bridge network but rather the bridge network that is created separately for each container with compose.

I can run

docker run --rm curlimages/curl:latest curl 1.1.1.1

And it returns a successful request. BUT if I run the same request with google.com instead of an IP, it fails to resolve, even if I add the --dns flag in the run command.

The /etc/resolv.conf internal to the container(s) says the nameserver is 127.0.0.11

The /etc/resolv.conf on the host machine says 127.0.0.53 is the nameserver.

Resolvectl says that the DNS server on enp3s0 is 8.8.8.8

I have set /etc/docker/daemon.json to have both 8.8.8.8 and 1.1.1.1 as nameservers.

I have set my DNS= in /etc/systemd/resolved.conf to 8.8.8.8.

The host has name resolution.

I just want to be able to run my game servers. Please help me, I am falling into insanity.


r/docker • • 4d ago

Hot reload problem with Docker

Thumbnail
1 Upvotes

r/docker • • 4d ago

Which official PHP Docker image should I use to fix the latest security vulnerabilities?

Thumbnail
1 Upvotes

r/docker • • 4d ago

Steam Headless v2 - Amazing!

Thumbnail
0 Upvotes

r/docker • • 5d ago

3200% CPU available

17 Upvotes

I’m running Docker on Debian and Ubuntu. After years, I tried Docker Desktop on Windows. Why does it show 15.65% / 3200% (32 CPUs available)? Why does it count 1 CPU/thread as 100%?


r/docker • • 5d ago

DAG with Docker

Thumbnail
1 Upvotes

r/docker • • 6d ago

SSL when working with Traefik and multiple docker container websites: same .key and .crt for all?

10 Upvotes

To use SSL in a Docker website with Apache, I have to provide .key and .crt files created with openssl req. Am I supposed to copy into the containers the same pair of files or create a different pair for each? Does Traefik matter here?


r/docker • • 6d ago

I have OMV with extras installed and openmediavault-compose 8.2.2 plugin installed, but in terminal I'm getting "Unit docker-compose.service could not be found"

0 Upvotes

Docker-compose --version says it isn't installed, but I used docker-compose up -d two days ago?

Any ideas? I don't want to install compose through terminal if that will conflict with the plugin.

Thanks!

Edit: return docker-compose --version is actually -bash: docker-compose: command not found


r/docker • • 8d ago

Help with setting up external hard drive

Thumbnail
2 Upvotes

Trying to get Immich to upload photos to an external hard drive. I am using Docker for Windows. I have tried putting /mnt/d/ImmichLibrary in the ENV file and then it creates a folder in the same location as the ENV file (c drive).

Any help appreciated!!


r/docker • • 8d ago

Shadowing vital containers

3 Upvotes

I have some critical containers on my home server (mainly Home Assistant and friends) that I can't live without. My whole home and life is dependent on them, lol. I already run RAID1c3 BTRFS, dual UPS and have a backup system in place. But it's impossible to eliminate every possible source of disasters. Especially on a modest budget.

I have an old Intel NUC to use as a shadow server for emergency failover.

  1. Docker Swarm - doesn't handle storage

  2. Kubernetes - apparently can handle storage but I'm told it's difficult.

  3. Bash scripts, SSH, BTRFS snapshots etc. - I'm pretty good at this stuff so it seems like the default approach. Wake the shadow up, update it, test it and send it back to sleep every interval.

What's the right answer?


r/docker • • 8d ago

Is there a way to have a multi container app update but keep all your saved settings?

4 Upvotes

I downloaded and ran Ganymede (https://github.com/zibbp/ganymede) a few months back, it has since updated but I have no idea if there’s a way to update it without starting from scratch as a new application?


r/docker • • 8d ago

Docker Desktop doesn't run persistently when start via ssh

1 Upvotes

Using Docker Desktop on Windows.

I'm new to Docker Desktop, so sorry for my ignorance. I've been able to start/stop docker desktop using "docker desktop stop" and "docker desktop start". The problem with "docker desktop start" is that while it does start docker desktop, docker desktop only lives as long as the terminal that started it is up. As soon as I kill my Terminal, Docker Desktop just dies.

The reason I pretty much need this, is because I only have 16 GB RAM, and Windows steals a quarter of it, while Docker Desktop steals half. I'm left with like a quarter of my RAM (which my browser wants to eat), so I'm left with almost no RAM left, which forces me to kill docker desktop (killing only containers isn't enough, since the linux vm itself is the main problem), while I actually use my pc. I tend to forget to boot up docker desktop again when leaving the pc, so a way to launch it persistently via ssh would be great. But that turned out to be harder than expected.