求问 docker compose 生成的服务容器指定的端口被霸占的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kuanos
V2EX    Docker

求问 docker compose 生成的服务容器指定的端口被霸占的问题

  •  
  •   kuanos 2023-10-17 09:12:45 +08:00 1502 次点击
    这是一个创建于 725 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Qnap ,我在这台 nas 上的 container station 上用 docker compose 创建了一个服务,包含 5 个容器以及对应的端口分别为:

    radarr ( 19xx1 )、sonarr ( 19xx2 )、jackett ( 19xx3 )、overseerr ( 19xx4 )、flaresolverr ( 19xx5 ),

    但当我访问 jackett 、overseerr 、flaresolverr 这几个服务时,要求我输入用户名和密码,而我并没有给这几个容器设置用户名和密码。

    当我试着输入了 sonarr 的用户名和密码时,会进入 sonarr 的页面,但端口却是 19xx3 、19xx4 、19xx5 ,

    我看了下 sonarr 的 log ,的确有登录记录:

    [Info] Auth: Auth-Unauthorized ip xxx.xxx.xxx.xx url 'http://xxxx:19xx3'
    [Info] Auth: Auth-Unauthorized ip xxx.xxx.xxx.xx url 'http://xxxx:19xx5'
    [Info] Auth: Auth-Unauthorized ip xxx.xxx.xxx.xx url 'http://xxxx:19xx5'
    [Info] Auth: Auth-Unauthorized ip xxx.xxx.xxx.xx url 'http://xxxx:19xx5'
    [Info] Auth: Auth-Unauthorized ip xxx.xxx.xxx.xx url 'http://xxxx:19xx5'
    [Info] Auth: Auth-Unauthorized ip xxx.xxx.xxx.xx url 'http://xxxx:19xx4'
    [Info] Auth: Auth-Unauthorized ip xxx.xxx.xxx.xx url 'http://xxxx:19xx4'
    [Info] Auth: Auth-Unauthorized ip xxx.xxx.xxx.xx url 'http://xxxx:19xx4'
    [Info] Auth: Auth-Unauthorized ip xxx.xxx.xxx.xx url 'http://xxxx:19xx5'
    [Info] RssSyncService: Starting RSS Sync
    [Warn] FetchAndParseRssService: No available indexers. check your configuration.
    [Info] DownloadDecisionMaker: No results found
    [Info] RssSyncService: RSS Sync Completed. Reports found: 0, Reports grabbed: 0
    [Info] Auth: Auth-Unauthorized ip xxx.xxx.xxx.xx url 'http://xxxx:19xx3'
    [Info] Auth: Auth-Unauthorized ip xxx.xxx.xxx.xx url 'http://xxxx:19xx3'
    [Info] Auth: Auth-Unauthorized ip xxx.xxx.xxx.xx url 'http://xxxx:19xx3'
    [Warn] Auth: Auth-Failure ip xxx.xxx.xxx.xx username 'jackett'
    [Info] Auth: Auth-Unauthorized ip xxx.xxx.xxx.xx url 'http://xxxx:19xx3'
    [Warn] Auth: Auth-Failure ip xxx.xxx.xxx.xx username 'admin'
    [Info] Auth: Auth-Unauthorized ip xxx.xxx.xxx.xx url 'http://xxxx:19xx3'
    [Info] RssSyncService: Starting RSS Sync
    [Warn] FetchAndParseRssService: No available indexers. check your configuration.
    [Info] DownloadDecisionMaker: No results found
    [Info] RssSyncService: RSS Sync Completed. Reports found: 0, Reports grabbed: 0
    [Info] Auth: Auth-Unauthorized ip xxx.xxx.xxx.xx url 'http://xxxx:19xx5'

    我的访问环境:
    远程用域名访问,软路由做旁路由配置 ddns 指向 nas ,nas 端口转发到 docker ,类似于 19xx1>9117 ( radarr );

    为什么为这样呢?
    第 1 条附言    2023-10-17 13:56:22 +08:00
    ---
    version: "2.1"
    services:
    radarr:
    image: lscr.io/linuxserver/radarr:latest
    container_name: radarr
    environment:
    - PUID=1000
    - PGID=1000
    - TZ=Etc/UTC
    volumes:
    - /share/Container/radarr/config:/config
    ports:
    - 19xx1:7878
    restart: unless-stopped
    sonarr:
    image: lscr.io/linuxserver/sonarr:latest
    container_name: sonarr
    environment:
    - PUID=1000
    - PGID=1000
    - TZ=Etc/UTC
    volumes:
    - /share/Container/sonarr/config:/config
    ports:
    - 19xx2:8989
    restart: unless-stopped
    jackett:
    image: lscr.io/linuxserver/jackett:latest
    container_name: jackett
    environment:
    - PUID=1000
    - PGID=1000
    - TZ=Etc/UTC
    - AUTO_UPDATE=true #optional
    - RUN_OPTS= #optional
    volumes:
    - /share/Container/jackett/config:/config
    ports:
    - 19xx3:9117
    restart: unless-stopped
    overseerr:
    image: lscr.io/linuxserver/overseerr:latest
    container_name: overseerr
    environment:
    - PUID=1000
    - PGID=1000
    - TZ=Etc/UTC
    volumes:
    - /share/Container/overseerr/config:/config
    ports:
    - 19xx4:5055
    restart: unless-stopped
    flaresolverr:
    # DockerHub mirror flaresolverr/flaresolverr:latest
    image: ghcr.io/flaresolverr/flaresolverr:latest
    container_name: flaresolverr
    environment:
    - LOG_LEVEL=${LOG_LEVEL:-info}
    - LOG_HTML=${LOG_HTML:-false}
    - CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
    - TZ=Europe/London
    ports:
    - 19xx5:8191
    restart: unless-stopped
    第 2 条附言    2023-10-19 09:53:02 +08:00
    发现问题所在了。。。在于路由器的端口转发,我设置的区间,如 19xx1-19xx9 ,单独设置就没问题。。不知道为什么,明明指向的都是一个 ip 。
    8 条回复    2023-10-17 20:03:58 +08:00
    dier
        1
    dier  
       2023-10-17 10:14:29 +08:00
    你把 docker compose 部署的 yaml 内容贴出来看看
    wu00
        2
    wu00  
       2023-10-17 11:02:36 +08:00
    看起来像是 nas 将所有端口都转发到了 19xx1
    跳过转发这一层,直接在宿主机内分别请求 19xx1/2/3/4/5 这几个服务试试
    kuanos
        3
    kuanos  
    OP
       2023-10-17 14:01:40 +08:00
    @dier 已经把配置贴在附言;

    @wu00 19xx1 服务的 radarr 正常,从 19xx2 开始,都转到 sonarr 的服务了,我删掉了所有的容器和服务重新弄了一次还是这样。你说的从宿主机直接请求我没太明白怎么弄呢?
    wu00
        4
    wu00  
       2023-10-17 14:38:47 +08:00
    你的容器服务都绑定了宿主机端口
    wu00
        5
    wu00  
       2023-10-17 14:41:31 +08:00
    - 19xx2:8989
    - 19xx3:9117
    - 19xx5:8191
    你直接在机器上访问这几个服务试试呗,比如:curl 127.0.0.1:8191 ,正常的话应该是你转发出了问题
    比如你把所有访问 yourdomain.com:80 的请求都转发到 xxx.xx..:19xx2 了
    dier
        6
    dier  
       2023-10-17 14:55:04 +08:00
    从 yaml 配置来看,这几个服务之前没有任何关联,除非你在配置中有配置互相访问的设置。你有试过不经过 ddns 在同一局域网下用浏览器分别访问 IP:19xx1 IP:19xx2 IP:19xx3 IP:19xx4 IP:19xx5 这几个地址,看能正常访问这些服务吗?另外,你说的通过域名远程访问,你是否映射了所有的服务端口呢?你的域名解析只是解析外网 IP 还是有根据不同的子域名,例如 radarr.domain.com 反向代理到 radarr 端口 ,sonarr.domain.com 反向代理到了 sonarr 服务端口
    Terry166
        7
    Terry166  
       2023-10-17 15:47:18 +08:00
    可能是你把访问转发到了其他 network
    docker network ls
    docker inspect <network_name>
    检查下是不是 container 放到了其他的 network ,如果 yaml 里面没有指定 network ,container 会放到默认的 bridge 下
    kuanos
        8
    kuanos  
    OP
       2023-10-17 20:03:58 +08:00
    @Terry166
    @wu00
    @dier
    我排除了一下,单独安装 docker 无法通过端口转发访问,发现是 tplink 路由上设置端口转发的问题,因为 tplink 虚拟服务器能设置的数量有限,我就把端口打包映射了:

    外部端口:19xx0-19xx9
    内部端口:19xx0-19xx9
    服务器 ip:192.xxx.xxx.xxx

    用上面这个设置就无法访问,用单独一个接口转发就没问题。
    按说不应该啊。。都是指向同一个主机,为啥到了 nas 上会无法访问呢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2316 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 01:03 PVG 09:03 LAX 18:03 JFK 21:03
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86