Thanks for the reply. I'm not 100% certain, but I think the way I set this up in Docker is correct and this is an issue with LE's iptables rules.
The link you provided uses docker compose, which by default creates a "user defined bridge" network, which allows containers to connect to each other via container name.
Yup, and I've set this up using Portainer Stacks (equivalent to docker compose), and I see that the bridge network is created and the containers are added to it.
Here are the docker compose files I've used, if someone wants to copy/paste and try for themselves:
For miniflux:
version: '2'
services:
miniflux:
image: miniflux/miniflux:latest
ports:
- "12346:8080"
depends_on:
- db
environment:
- DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
- RUN_MIGRATIONS=1
- CREATE_ADMIN=1
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=test123
db:
image: postgres:latest
environment:
- POSTGRES_USER=miniflux
- POSTGRES_PASSWORD=secret
volumes:
- miniflux-db:/var/lib/postgresql/data
volumes:
miniflux-db:
Display More
and the one from Docker Hub for a more minimal test:
# Use postgres/example user/password credentials
version: '2'
services:
db:
image: postgres
restart: always
environment:
POSTGRES_PASSWORD: example
adminer:
image: adminer
restart: always
ports:
- 12347:8080
Display More
In both cases, the networks get created, but the containers can't communicate. As far as I can tell from inside the containers, the hostnames seem to resolve correctly, just the connection fails.