r/docker • • 1h ago

Shadowing vital containers

• 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 • • 7h ago

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

3 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 • • 16h 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.


r/docker • • 19h ago

Mod Approved 50MB Challenge: can a real Java app fit in a 50MB Docker image?

0 Upvotes

https://youtu.be/2f0LUg5_GvQ 🎦

With cloud costs and bandwidth going up, I’m seeing more teams start to actually care about container size. Tried every way I could think of how to build a Java Docker image and compared the sizes.

Anyone else optimizing for size? or your team just never looks at the cloud bill?


r/docker • • 21h ago

I built a CLI that lets a local process join a Docker Swarm/Compose/k8s/okd cluster by name (no kubeconfig, no port-forwards)

2 Upvotes

I develop against Kube, Swarm and Compose stacks and got tired of port mappings and /etc/hosts edits, so I built plug. You prefix your usual command:

plug -s my-api:8080:3000 npm run start:dev

- Your process resolves cluster names (postgres, my-service:8080) as if it were a container. No code or proxy config, any runtime.

- The cluster reaches your process as my-api:8080. The name doesn't need to exist yet. If a deployed service already owns it, plug parks it for the session and restores it on exit.

- On a takeover it also inherits the service's environment, secret/config files and volumes (mounted over SMB, no FUSE).

- Docker, Compose, Swarm, Kubernetes. Linux, macOS, Windows. One agent container; developers only need the cluster's address.

Free, source-available. mirrord and Telepresence do similar things for Kubernetes; there's a side-by-side in the docs, including where they're ahead.

Repo: https://github.com/softwarity/plug

Docs: https://softwarity.github.io/plug/

I'd really like feedback from people: what would make this useful for your workflow?

PS: I tried to message the mods, but I get an error message.


r/docker • • 2d ago

Setting strict cgroup / MemoryMax bounds on local background container daemons

1 Upvotes

Hi everyone,

We are testing a local background service running on client laptops. During peak context processing, memory spikes can risk pushing the host OS into swap death.

We are configuring container resource limits (--memory, --memory-swap, cgroups v2) to isolate the local execution daemon from the rest of the host system.

For those deploying background containers on desktop client endpoints: what memory overhead buffer do you leave for the host OS to prevent hard freezes when a container hits its hard limit?

Context: Architectural query regarding container limits on client endpoints.


r/docker • • 2d ago

I cannot create Oracle Database image

6 Upvotes

This is my first time using docker and I want to download oracle database (version 19 to be exact) on my mac and use it for my university assignment. As soon as I created an image, I received an error stated that "ERROR: failed to build: failed to solve: process "/bin/sh -c chmod ug+x \"$INSTALL_DIR\"/*.sh &&     sync &&     export CV_ASSUME_DISTID=OL7 &&     \"$INSTALL_DIR\"/\"$INSTALL_DB_BINARIES_FILE\" $DB_EDITION" did not complete successfully: unable to find user oracle: no matching entries in passwd file". I tried many ways still unsuccesfull.


r/docker • • 2d ago

Need Help: Docker Desktop Not Opening on MacBook Air M5

4 Upvotes

Hi everyone,

I recently downloaded and installed Docker Desktop from the official Docker website on my MacBook Air M5. However, after the installation, when I try to open Docker Desktop, nothing happens. The application doesn't launch or show any visible response.

Has anyone experienced this issue on an M5 MacBook? I would appreciate any suggestions or troubleshooting steps to get Docker Desktop working.

Os: 26

Thanks in advance for your help!


r/docker • • 5d ago

Are GHCR download counts reliable at all??? 🐳

6 Upvotes

So I have a tool packaged on GHCR and the download counts have been growing at a steady clip, with every release going up , moving roughly at a 200-300 a day rate… last release was about 5000 users in 3 weeks, latest release nearly 8000 in 3 weeks….but I’ve read that some docker management tools can ping GHCR checking for updates and end up creating a false “download” count … does anyone have a bead on this? How reliable are these download counts?


r/docker • • 6d ago

Container not updating?

0 Upvotes

I just noticed that my docker container hasn't updated in months. Did some research and realized I was running from cache. Tried adding pull_policy: always to my compose file, but got this error: docker: Error response from daemon: pull access denied for plex, repository does not exist or may require 'docker login'

manually ran: docker pull linuxserver/plex:latest This worked.

How do I update the compose to auto-pull latest?


r/docker • • 7d ago

Docker wiped months of my work in a matter of seconds

0 Upvotes

I’m genuinely sick to my stomach while typing this.
For the past few months, I’ve been consistently working on a system that helps run my business every single day. Every line of code, every hour, every late night, and all those days of frustration went into building something that my business relies on. Months of hard work, all completely wiped because of Docker.

Earlier today, I noticed Docker was constantly using around 8GB of RAM, which I thought was very odd considering the size of my system. So I went into Docker’s settings to reduce the maximum RAM usage. While I was there, I noticed other settings for CPU usage and disk limits, so I decided to reduce those as well.

I clicked “Apply & Restart”, and when Docker loaded back up, everything was gone. Not a single container was there. At first, I thought it was just some sort of bug, but after digging deeper, I found out that reducing the disk limit actually deletes the entire Docker disk image, including all your containers, volumes, and stored data.

The worst part is I received absolutely no warning. No confirmation, no pop-up telling me my data would be permanently deleted. Nothing. I simply changed what I thought was a resource limit, clicked apply, and lost months of work in seconds.

I genuinely cannot understand how something like this is allowed to happen. How can changing a setting as simple as a disk limit completely wipe everything without even warning the user about what’s going to happen?

This is a warning to all of you please don’t make the same mistake I’ve made. I’m in tears and speechless. How is a company allowed to do this.

EDIT: Just to clarify, I wasn’t storing everything inside the container. I was using a Docker named volume mounted to /home/node/.n8n.
I understand I should’ve had more recent external backups, that’s on me. But my issue is that I received absolutely NO warning that reducing the disk limit would permanently delete everything. I simply clicked Apply & Restart, and months of work were gone. That’s the whole point of this post.

EDIT 2: Update for anyone who finds this later. I recovered most of my work from a backup on another drive from a couple of weeks ago. Lessons learnt:

  1. On Docker Desktop (Mac), named volumes live inside Docker’s virtual disk. Reducing the disk limit can wipe that disk entirely, volumes included. I didn’t get a confirmation prompt.

  2. Bind-mount important data to a real folder on your machine instead of relying on named volumes.

  3. Automate backups to a separate drive or cloud.

I still think a destructive setting like this deserves a warning, but yes, backups were on me. Thanks to everyone who gave genuinely useful advice.


r/docker • • 8d ago

How to Dockerize an application with a rather non-standard architecture?

0 Upvotes

Hi!

I have an open source pet project related to networks.
Users asked me to create an official Docker image, but I’ve never worked with Docker before.
Fortunately, some kind person made (or vibe coded, doesn't matter) a Dockerfile and docker-compose.yml for us.

But I want to figure it out myself, and here are some things that I don’t quite understand:

- our tool can receive data from the network either in the traditional way (using sockets) or via pcap; this is user-configurable.
Different users use different capture methods. As far as I understand, it would be better to create two images - one normal and the other privileged, with access to the host network.
Or is that not the standard practice?

- even though we can capture data using pcap, the tool still runs as a non-root user. We use setcap to achieve this.
The kind person who created the Dockerfile for us included this line:
RUN useradd -u 53842 -rlM -d /nonexistent -s /usr/sbin/nologin user
I asked why UID 53842 was chosen, and he replied that it was to ensure the UID wouldn't conflict with other users.
Is this standard practice, or are there other ways to do it?

- The tool generates database data as it runs. Literally .sql files.
Periodically, it launches an external script that feeds these files to the psql utility, sending the data to PostgreSQL.
We've now added support for ClickHouse, and we might even add export to InfluxDB or MariaDB.
Sure, we could keep everything in a single large image.
However, I’m a bit concerned that the 'clickhouse-client' is orders of magnitude larger than the tool itself; if we add support for other databases, the image will become massive.
Is this normal? Is this how it's usually done?
Or would it be better to do it differently?

- The tool sometimes launches other external scripts. These scripts typically generate alerts, send messages via email, instant messengers, etc.
In other words, it invokes curl, a mail client, or other utilities that we definitely don't want to package inside the container.
I’ve read about two ways to launch external scripts from Docker: using ssh and named pipes. It looks a little creepy.
Are there other ways to run an external script on the host or in another container?

- In addition to the main tool, the kit includes several other small utilities. They all use the same data (shared files).
I don't think there would be any issues keeping them in a single shared image.
But perhaps I'm mistaken.
What is the standard practice in the Docker world?

Thanks in advance!


r/docker • • 9d ago

Docker with no Rosetta 2?

14 Upvotes

Rosetta 2 is to be partially discontinued in macOS 28, How will docker work?


r/docker • • 9d ago

I need assistance assigning an IPV6 address to a container on a macvlan network

4 Upvotes

Hello, I'm trying to learn how to use IPV6 at home. IPV6 is enabled on my network and my vlans.

I have updated the daemon.json file per Docker's instructions.

{
  "ipv6": true,
  "fixed-cidr-v6": "2001:1234:5678::/64"
}

I have stopped all containers, removed the old IPV4 macvlan networks, re-added them as IPV4 & IPV6 networks, Portainer seems to think the two I've done are correct.

sudo docker network create -d macvlan --ipv6 \
--subnet=10.0.10.0/24 --gateway=10.0.10.1 \
--subnet=2001:1234:5678:10::/64 --gateway=2001:1234:5678:10::1 \
-o parent=eth0.10 macvlan10

sudo docker network create -d macvlan --ipv6 \
--subnet=10.0.20.0/24 --gateway=10.0.20.1 \
--subnet=2001:1234:5678:20::/64 --gateway=2001:1234:5678:20::1 \
-o parent=eth0.20 macvlan20

I've added IPV6 addresses and IPV6 enable in my Docker Compose/Portainer Stacks, but don't seem to have something correct here.

services:
  pihole:
    cap_add:
      - SYS_TIME
      - SYS_NICE
    container_name: pihole01
    environment:
      FTLCONF_dns_listeningMode: 'all'
      FTLCONF_dns_upstreams: '1.1.1.1;1.0.0.1'
      FTLCONF_webserver_api_password: 'SuperSecretPassword'
      TZ: 'America/Detroit'
    hostname: pihole01
    image: pihole/pihole:latest
    mac_address: 00:10:00:10:00:04
    networks:
      macvlan10_network:
        ipv4_address: 10.0.10.4
        ipv6_address: 2001:1234:5678:10::4
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "80:80/tcp"
      - "123:123/udp"
      - "443:443/tcp"
    restart: unless-stopped
    volumes:
      - pihole01:/etc/pihole

networks:
  macvlan10_network:
    enable_ipv6: true
    external: true
    name: 'macvlan10'

volumes:
    pihole01:
      external: true

Any ideas?


r/docker • • 9d ago

Multiple IPvLANs, am I doing it wrong?

1 Upvotes

So I know that every service should be on its own network, with grouped services (app & db) on the same network. All good.

I was looking at moving to ipvlans to give my containers their own IPs to make it easier to track traffic in and out. Simple right?

So I created a new network:

docker network create \
  --driver ipvlan \
  --subnet=10.0.0.0/25 \
  --gateway=10.0.0.1 \
  -o parent=enp2s0 \
  -o ipvlan_mode=l3 \
  ipvlan-3

...and some test services worked great. When I went to create a second network:

docker network create \
  --driver ipvlan \
  --subnet=10.0.0.128/28 \
  --gateway=10.0.0.129 \
  -o parent=enp2s0 \
  -o ipvlan_mode=l3 \
  ipvlan-3-librenms

it wouldn't let me as it said the parent was already being used.

How to I achieve multiple networks with the same parent NIC?

Thanks


r/docker • • 9d ago

Starting out on docker

0 Upvotes

Does anyone have some good resources to start learning and practicing docker?


r/docker • • 10d ago

we standardised on LTS distribution images and the CVE count stil climbed

1 Upvotes

We moved everything onto long term support base images last year assuming that fewer package updates meant fewer findings. Eighteen months in and the scanners report more than what we started because the pinned versions age and the backports lag behind. Im weighing staying put against moving to something rebuilt far more often. Rebuilding weekly means more churn for a team of five. Anyone gone from LTS bases to a faster rebuild cadence and found it less work overall?


r/docker • • 10d ago

Looking to replace Portainer for Docker Swarm — does Dockhand actually handle Swarm, or just multi-host Docker?

10 Upvotes

Hey everyone,

I’ve been running Docker Swarm with Portainer for a while. While Portainer's agent handles cross-node orchestration well, I’ve never really loved the UI or workflow, and I'm looking for a cleaner alternative.

I recently stumbled across Dockhand and like the UI and feature set, but I’m trying to understand how it handles Swarm setups. Does it actually support native Swarm primitives (services, stacks, replica placement, routing mesh), or does its agent (Hawser) simply manage multiple standalone Docker daemons side-by-side?

If you’ve tested Dockhand with a Swarm cluster, what has your experience been? If it’s strictly standalone multi-host, what modern alternatives are you using for Swarm management (e.g., Swarmpit, Arcane, or sticking with CLI/GitOps)?

Thanks!


r/docker • • 11d ago

Arcade how to edit containers?

0 Upvotes

I recently switched from Dockhand to Arcane and for the life of me cant figure out how to edit any containers. None of them show up as projects, i tried to add the experimental setting to add the convert to project menu option and it says it succeeded but i don't see that option anywhere. How is everyone able to edit containers if needed. It blows me away that Arcane doesn't have such a fundamental function.


r/docker • • 11d ago

An unrequited love letter to Portainer

Thumbnail
0 Upvotes

r/docker • • 11d ago

Obsidian vault mounted in Docker compose not showing up inside container

Thumbnail
2 Upvotes

r/docker • • 12d ago

How good is docker mooc?

4 Upvotes

I know a bit of docker and use it in my job (Data engineer) as is but not much structured knowledge about it.

I'm thinking about going through some learning resources and wondering how reliable docker helsinki uni mooc? I found results saying it is good. but wondering if there's something better out there before committing time.

I know it is focused on devops but that's beneficial just as general knowledge.

They're starting a new one in couple of weeks but I don't think they really update those courses much.

Thanks.


r/docker • • 13d ago

Free AWS Console for MiniStack - docker-compose up and done

5 Upvotes
Built a web UI for MiniStack (the free, open-source AWS emulator).


**Why this exists:**
- MiniStack has no web console
- LocalStack went paid ($49-429/month for web UI)
- Needed visual management for local AWS development


**What it does:**
- Full CRUD for S3, DynamoDB, Lambda, SQS, Cognito, SES, SNS, Secrets Manager
- AI integration via MCP - Claude can query your local AWS setup directly
- 500x performance boost using FalkorDB graph database caching
- One command to run: `docker-compose up`


**Tech stack:**
- React frontend, FastAPI backend
- Docker Compose orchestration
- Works with any MiniStack instance (or includes MiniStack)
- Multi-tenant support (manage multiple isolated environments)


**Quick start:**
```bash
git clone https://github.com/barroei1981/ministack_console
cd ministack_console
docker-compose up -d
# Access at http://localhost:3000
```


**Unique features:**
- MCP server integration - AI assistants can query your local AWS environment
- Real-time resource discovery
- Performance optimized (DynamoDB queries: 43s → 0.086s)
- MIT licensed, free forever


**Roadmap:**
 EC2, RDS, IAM, CloudWatch next


**GitHub:**
 https://github.com/barroei1981/ministack_console


Screenshots and full docs in the repo. Feedback welcome - it's early stage but fully functional!

r/docker • • 13d ago

Need advice regarding container isolation

5 Upvotes

I'm new to docker and I'm looking to learn/experiment with it. I want some advice regarding containers that will be used by other services like databases. I'm currently running two services which share a postgres container. For isolation, I created a migration which creates separate databases and users for each service before anything else starts.

I'll eventually setup more services and I want it to be scalable, resource efficient, secure and easy to maintain.

Is it better to create entirely separate dependencies for each service, or share dependencies between multiple services? I would like to know this from an efficiency, ease of maintenance and security standpoint, or at least get some pointers like a blog, article, manual or a youtube video.

TLDR: Is it better to have different db instances for each service OR one (or a few) db instances shared by every service? And why?

PS: English is not my first language, so sorry in advance for spelling or grammar mistakes.


r/docker • • 14d ago

Why can't I seem to install docker and docker compose on amazon linux 2023?

0 Upvotes

bash [ec2-user@ip-a-b-c-d ~]$ sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin --assumeyes --quiet Error: Unable to find a match: docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

  • I get this error above
  • How am I supposed to install docker and compose?