gpt4 book ai didi

docker - 将 docker 容器连接到本地站点

转载 作者:行者123 更新时间:2023-12-05 03:16:48 27 4
gpt4 key购买 nike

我有服务 openhabmosquitto。我在 openhabmosquitto 之间有内部网络,没问题

我在本地网络中有 3 台计算机 192.168.1.16192.168.1.17192.168.1.18192.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

最佳答案

您的 mosquito 容器已经可以在主机网络上使用 docker 主机的 ip 192.168.1.16 和您转发的端口访问:

  ports:
- 1884:1883
- 9001:9001

所以在 192.168.1.16:1884 上你可以到达 mosquito 容器 1883 端口和 192.168.1.16:9001 你也可以从你的其他计算机到达 mosquito 容器 9001 端口,假设你在计算机的防火墙上允许这些,包括docker 主机。

但是如果你真的想要你主机网络上的蚊子容器本身的IP那么你需要做macvlan:https://docs.docker.com/network/macvlan/有了这个,您的容器将获得一个虚拟 NIC,并将连接到运行 docker 主机的物理网络。但我认为您不需要这个,请进一步说明您的用例。

关于docker - 将 docker 容器连接到本地站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74462450/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com