我有两项服务 openhab
和 mosquitto
。
在 openhab
和 mosquitto
之间,我有一个内部网络,一切正常。
我在本地网络中有三台电脑 192.168.1.16
、192.168.1.17
、192.168.1.18
,其中 192.168.1.16
运行着 Docker 和 mosquitto
容器。
现在,我需要为 mosquitto
容器添加新的 IP 地址 192.168.1.20
,因为我需要从其他电脑将数据发送到 mosquitto
。
我该如何做?这是我的 docker-compose 文件:
version: '3.7'
services:
openhab:
image: "openhab/openhab:3.3.0"
container_name: "openhab"
restart: always
networks:
openhabnet:
aliases:
- openhab
ports:
- 8082:8080
- 8444:8443
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/etc/timezone:/etc/timezone:ro"
- "./openhab_addons:/openhab/addons"
- "./openhab_conf:/openhab/conf"
- "./openhab_userdata:/openhab/userdata"
environment:
CRYPTO_POLICY: "unlimited"
EXTRA_JAVA_OPTS: "-Duser.timezone=Europe/Berlin"
OPENHAB_HTTP_PORT: "8080"
OPENHAB_HTTPS_PORT: "8443"
USER_ID: "1000"
GROUP_ID: "1000"
mosquitto:
image: "eclipse-mosquitto:latest"
container_name: "mosquitto"
user: "1000:1000"
restart: always
networks:
openhabnet:
aliases:
- mosquitto
ports:
- 1884:1883
- 9001:9001
volumes:
- "./mosquitto/config:/mosquitto/config"
- "./mosquitto/log:/mosquitto/log"
- "./mosquitto/data:/mosquitto/data"
environment:
- TZ=Europe/Bratislava
networks:
openhabnet:
driver: bridge
192.168.1.16:1884
和192.168.1.16:9001
上的mosquitto。 - Garunoports:
暴露容器端口。Docker会为您设置NAT并将端口转发到底层后端。 - Daniel W.