微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Docker Stack 整个堆栈的一个静态 IP 地址

如何解决Docker Stack 整个堆栈的一个静态 IP 地址

我在 QNAP 上有一个使用 Docker 的生产环境,我想建立一个测试环境,在那里我可以运行实验而不必中断我的生产环境。我需要让这些容器可用于我的 LAN,并且理想情况下希望让它们都使用单个 IP 地址而不是 NAT,或者为每个容器提供自己的单独地址(我知道如何做到这一点),但我不确定如何。我试过玩它,但我还是 docker 新手,无法弄清楚或不知道它是否可能。当我尝试下面的示例时,每个新 IP 地址只出现了第一个容器

示例... 注意:QNAP IP 地址是 192.168.2.2 并且本示例中的所有内容都使用 192.168.2.4,除了最后两个容器是 192.168.2.5(如果需要,可以将其移动到新堆栈)不是一个工作示例,对于演示

version: '2.4'
services:
  pihole: 
    image: pihole/pihole
    container_name: pihole
    environment:
      - TZ=AMERICA/Denver
    volumes:
      - './etc-pihole/:/etc/pihole/'
      - './etc-dnsmasq.d/:/etc/dnsmasq.d/'
    restart: unless-stopped
    networks:
      qnet-static:
        ipv4_address: 192.168.2.4

  ftpd_server:
    image: stilliard/pure-ftpd
    container_name: pure-ftpd
    ports:
      - "21:21"
    volumes:
      - "/folder_on_disk/data:/home/username/"
    restart: unless-stopped
    networks:
      qnet-static:
        ipv4_address: 192.168.2.4

  mailserver:
    image: docker.io/mailserver/docker-mailserver:latest
    ports:
      - "25:25"
    volumes:
      - maildata:/var/mail
    environment:
      - ENABLE_SPAMASSASSIN=1
    cap_add:
      - NET_ADMIN
      - SYS_PTRACE
    restart: always
    networks:
      qnet-static:
        ipv4_address: 192.168.2.4


  MysqL:
    container_name: MysqL
    image: MysqL:latest
    restart: always
    environment:
      - MysqL_ROOT_PASSWORD=root
    ports:
     - "3306:3306"
    networks:
      qnet-static:
        ipv4_address: 192.168.2.5
  
apigw-tomcat:
    container_name: apigw-tomcat
    build: tomcat/.
    ports:
     - "8080:8080"
     - "8009:8009"
    networks:
      qnet-static:
        ipv4_address: 192.168.2.5
    depends_on:
     - MysqL

    
networks:
  qnet-static:
    driver: qnet
    ipam:
      driver: qnet
      options:
        iface: "eth0"
      config:
        - subnet: 192.168.2.0/23
          gateway: 192.168.2.1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?