我不确定这是否是合适的发帖之地,如果有更好的交换网站或论坛,请告诉我!
我有一个位于 192.168.1.254 的 unraid 盒子
我想在 Docker 容器(plex、ombi 等...)中设置一些服务,我正在遵循本指南这里。
本质上我已经让大多数东西正常工作了(我可以在各自的端口上看到 plex 和 ombi),但我不想调整 Unraid webui 的端口(端口 80 和 443),而是宁愿给运行 traefik 的 docker 容器它自己的可路由 IP(类似于 192.168.1.253),然后我会设置路由器以端口转发到该 IP(在 80 和 443 上)。
然后,代理将指向在 Unraid 盒(192.168.1.254)上运行的服务及其绑定到的端口(plex 为 32400,等等...)。
我一直在docker-compose.yaml
尝试创建一个网络,但没有成功,我尝试过这个:
---
version: '3'
services:
traefik:
image: traefik:latest
command: --web --docker --docker.watch --docker.domain=${DOMAIN} \
--docker.exposedbydefault=false --acme.domains=${DOMAIN}
container_name: traefik
hostname: traefik
#ports:
#- "80:80"
#- "443:443"
networks:
local:
ipv4_address: 192.168.1.253
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ${CONFIG}/traefik/acme.json:/acme.json
- ${CONFIG}/traefik/traefik.toml:/etc/traefik/traefik.toml
- ${CONFIG}/traefik/.htpasswd:/etc/traefik/.htpasswd:ro
labels:
traefik.enable: "true"
traefik.frontend.rule: "Host:monitor.${DOMAIN}"
traefik.port: "8080"
traefik.frontend.auth.basic: "${HTPASSWD}"
com.ouroboros.enable: "true"
restart: unless-stopped
# Other services would be here...
networks:
local:
ipam:
driver: default
config:
- subnet: 192.168.1.0/24
但这会出现以下错误:
Creating network "setup_local" with the default driver
ERROR: Pool overlaps with other one on this address space
我也尝试过driver: bridge
但是只得到以下结果:
Creating network "setup_local" with the default driver
ERROR: plugin "bridge" not found
我尝试的另一件事是删除网络内容并将以下行添加到该command
部分:
-p 192.168.1.253:80:80
这没有引发任何错误,但是当我导航到192.168.1.253
它时没有任何反应?
我对此还很陌生,所以我真的不知道在哪里寻找日志(我在路由器上运行 pfSense)。
更新:
按照@0x76 的建议并添加 IP(ip addr add 192.168.1.253 dev eth0
)后,我将端口配置更新为以下内容:
ports:
- "192.168.1.253:80:80"
- "192.168.1.253:443:443"
但现在我收到以下错误:
ERROR: for traefik Cannot start service traefik: driver failed programming external connectivity on endpoint traefik (b0377ca8df24ccda2dc6d798ad3ebb190edf4a2e08eda29f21c288b19ef1bc8c): Error starting userland proxy: listen tcp 192.168.1.253:80: bind:address already in use
ERROR: Encountered errors while bringing up the project.
答案1
Unraid 框当前仅具有一个与之关联的 IP,因此仅在 docker 配置中添加该 IP 是行不通的。
您可以通过向网络接口添加额外的 IP 将此 IP 添加到您的 unraid 盒中,此命令为:ip addr add 192.168.1.253 dev IF
其中 IF 是您想要添加该 IP 的网络接口。
此后使用-p 192.168.1.253:80:80
可能会有效。