如何解决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 举报,一经查实,本站将立刻删除。