首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker Compose - Network_mode:Service:-2个容器无法相互通信

Docker Compose - Network_mode:Service:-2个容器无法相互通信
EN

Stack Overflow用户
提问于 2018-07-12 20:11:32
回答 1查看 4.6K关注 0票数 1

在过去的几周里,我一直在掌握docker,并决定自学。我现在已经很好地掌握了它,并且刚刚开始尝试使用docker compose。

我有一个docker compose yml文件,我在网上找到了它,并一直在修改它以满足我的需要。

基本上,这个docker组合文件运行Sonarr、Radarr、this、openvpn和nginx。

Sonarr和Radarr使用service:vpn作为他们的网络,以便他们的流量通过VPN。NGINX被用作反向代理,使用“sonarr.myredacteddomain/com”“radarr.myredacteddomain/com”访问以下urls http://radarr:7878 & http://sonarr:8989中的Sonarr和Radarr,效果很好。

NGINX使用“Link:”来访问sonarr和radarr,正如您在下面的yml中看到的那样。我现在遇到的问题是,我需要Radarr和Sonarr能够与传输通信,这样他们都知道我的下载客户端的位置。如果在Sonarr上输入传输:9091或transmission.myredacteddomain/com Sonarr/Radarr看不到它。

看看这些容器Radarr和Sonarr似乎没有IP地址,那么为什么NGINX可以通过radarr:7878等看到它们,但是Sonarr和Radarr不能以相同的方式看到传输?有没有人能帮我弄一下yml文件?

代码语言:javascript
复制
version: '3.0'
networks:
  default:
    ipam:
      driver: default
services:
  jackett:
    image: linuxserver/jackett
    depends_on:
      - vpn
    restart: always
    network_mode: "service:vpn"
    environment:
      PGID: 1000
      PUID: 1000
      TZ: Europe/London
    volumes:
      - /mnt/user/config/jackett:/config
      - /mnt/user/media/downloads/jackett:/downloads

  transmission:
    image: linuxserver/transmission:48
    depends_on:
      - vpn
    environment:
      TZ: 'Europe/London'
      PGID: 1000
      PUID: 1000
    network_mode: "service:vpn"
    tmpfs:
      - /tmp
    restart: unless-stopped
    stdin_open: true
    tty: true
    volumes:
      - /mnt/user/config/transmission:/config
      - /mnt/user/media/downloads:/downloads

  radarr:
    image: linuxserver/radarr
    depends_on:
      - vpn
    restart: always
    network_mode: "service:vpn"
    environment:
      PGID: 1000
      PUID: 1000
      TZ: Europe/London
    volumes:
      - /mnt/user/config/radarr:/config
      - /mnt/user/media/downloads/complete:/downloads
      - /mnt/user/media/movies:/movies

  sonarr:
    image: linuxserver/sonarr
    depends_on:
      - vpn
    restart: always
    network_mode: "service:vpn"
    environment:
      PGID: 1000
      PUID: 1000
      TZ: Europe/London
    volumes:
      - /mnt/user/config/sonarr:/config
      - /mnt/user/media/downloads/complete:/downloads
      - /mnt/user/media/tvshows:/tv

  vpn:
    image: dperson/openvpn-client
    sysctls:
      - net.ipv6.conf.all.disable_ipv6=0
    cap_add:
      - net_admin
    dns:
     - 8.8.4.4
     - 8.8.8.8
    environment:
      TZ: 'Europe/London'
    read_only: true
    tmpfs:
      - /tmp
    restart: unless-stopped
    security_opt:
      - label:disable
    stdin_open: true
    tty: true
    volumes:
      - /dev/net:/dev/net:z
      - /mnt/user/config/vpn:/vpn

  web:
    image: nginx
    depends_on:
      - transmission
      - sonarr
      - jackett
      - radarr
    environment:
      TZ: 'Europe/London'
      IPV6: 0
    links:
      - vpn:transmission
      - vpn:jackett
      - vpn:radarr
      - vpn:sonarr
    ports:
      - "80:80"
      - "443:443"
    read_only: true
    volumes:
      - /mnt/user/config/nginx:/etc/nginx/conf.d:ro
      - /mnt/user/config/nginx/ssl:/etc/nginx/ssl:ro
    tmpfs:
      - /run
      - /tmp
      - /var/cache/nginx
    restart: unless-stopped
    stdin_open: true
    tty: true
EN

回答 1

Stack Overflow用户

发布于 2018-07-12 20:29:06

设法解决了这个问题!

原来使用Network_Mode:Service:vpn的容器共享VPN docker的ip地址。

解决了我自己的问题!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51305397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档