[英]How to connect to Docker service UI via LAN on local network
我是 Docker 的新手,正在嘗試啟動並運行 Nginx 代理管理器。
到目前為止,我有一個 docker-compose.yml 看起來像(基於我正在關注的教程):
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'
到目前為止這是有效的,我可以訪問主機上的 Nginx 代理管理器(運行 Ubuntu 的 NUC 通過 LAN 連接到我的路由器)。
但是,我認為在我的 local.network(Windows PC 通過 LAN 連接到同一路由器)上的另一台機器上訪問相同的 UI 會很簡單。
對於我的生活,我似乎無法調出另一台計算機上的用戶界面。 我剛剛在我的瀏覽器中收到超時錯誤。
我努力了:
有誰知道如何在同一網絡上的另一台本地 PC 上訪問 Docker 服務的 UI。 我不需要為此進行端口轉發,因為它是本地的,對嗎?
似乎我所要做的就是通過ufw allow 81
在我的 UFW 中公開端口。 一旦公開,我就可以從我的 local.network 中的任何設備訪問 UI。
正如@DavidMaze 所指出的,為 Docker 容器指定 static IP 似乎不是很有用。 似乎最好的做法是使用默認的 Docker.networking,為不同的容器指定不同的端口,並確保這些端口可以通過 UFW 訪問。 因為我沒有在我的路由器上進行端口轉發,所以它們應該只能從我的 local.network 訪問。
我還是有點好奇什么時候橋會有用。 似乎甚至有一個網橋 Docker 將 bridge.network 連接到 host.network。 所以我想知道重點是什么......我一定會閱讀一些文檔。
這是我更新的 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'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.