I am new to Docker and am trying to get Nginx Proxy Manager up and running.
So far, I have a docker-compose.yml that looks like (based on a tutorial I'm following):
version: "3.9"
networks:
default:
driver: bridge
npm_proxy:
name: npm_proxy
driver: bridge
ipam:
config:
- subnet: 192.168.89.0/24
x-common-keys-core: &common-keys-core
networks:
- npm_proxy
security_opt:
- no-new-privileges:true
restart: always
services:
npm:
<<: *common-keys-core
container_name: nginx-proxy-manager
image: 'jc21/nginx-proxy-manager:latest'
networks:
npm_proxy:
ipv4_address: 192.168.89.254
ports:
- '80:80'
- '443:443'
- '81:81'
volumes:
- $DOCKERDIR/appdata/npm/config:/config
- $DOCKERDIR/appdata/npm/letsencrypt:/etc/letsencrypt
- $DOCKERDIR/appdata/npm/data:/data
environment:
DB_SQLITE_FILE: "/config/database.sqlite"
DISABLE_IPV6: 'true'
This is works so far, and I can access the Nginx Proxy Manager on the host machine (NUC running Ubuntu connected via LAN to my router).
However, I thought that it'd be simple to access this same UI on another machine on my local.network (Windows PC connected to same router via LAN).
For the life of me, I can't seem to pull up the UI on the other computer. I just get a timeout error in my browser.
I have tried:
Does anyone know how to access the UI of a Docker service on another local PC on the same.network. I don't need port-forwarding for this because it's local right?
Seems all I had to do was expose the port in my UFW via ufw allow 81
. Once exposed I can access the UI from any device in my local.network.
As pointed out by @DavidMaze, it doesn't seem very useful to specify static IPs for Docker containers. It seems best practice would be to use default Docker.networking, specify different ports for different containers, and just make sure these ports are accessible via UFW. Since I'm not port forwarding on my router they should only be accessible from my local.network.
I'm still a little curious though as to when a bridge would be useful. It seems even with a bridge Docker connects the bridge.network to the host.network. So I wonder what the point is... I'll be sure read up on some documentation.
Here is my updated YAML:
version: "3.9"
x-common-keys-core: &common-keys-core
security_opt:
- no-new-privileges:true
restart: always
services:
npm:
<<: *common-keys-core
container_name: nginx-proxy-manager
image: 'jc21/nginx-proxy-manager:latest'
ports:
- '80:80'
- '443:443'
- '81:81'
volumes:
- $DOCKERDIR/appdata/npm/config:/config
- $DOCKERDIR/appdata/npm/letsencrypt:/etc/letsencrypt
- $DOCKERDIR/appdata/npm/data:/data
environment:
DB_SQLITE_FILE: "/config/database.sqlite"
DISABLE_IPV6: 'true'
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.