gpt4 book ai didi

java - docker-compose 中的容器发现

转载 作者:行者123 更新时间:2023-12-02 02:14:24 24 4
gpt4 key购买 nike

我有以下 docker-compose,moduleA 如何找到 moduleB 正在运行的 IP 或端口,以便对其进行 REST 调用。

问题是我应该如何配置 moduleA 获取 ModuleB 的 ip 端口的 docker 属性

version: "3"

services:
moduleA:
image: jboss/wildfly
ports:
- 9080:8080
- 9990:9990
- 65193:65193
volumes:
- ./ModuleA/target/ModuleA.war:/opt/jboss/wildfly/standalone/deployments/ModuleA.war
environment:
- MONGO_HOST=mongo
- MONGO_PORT=27017
- MONGO_USERNAME=myuser
- MONGO_PASSWORD=mypass
- MONGO_DATABASE=mydb
- MONGO_AUTHDB=admin
command: >
bash -c "/opt/jboss/wildfly/bin/add-user.sh admin Admin#007 --silent && /opt/jboss/wildfly/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0"
links:
- mongo
depends_on:
- mongo

moduleb:
image: jboss/wildfly
ports:
- 9081:8080
- 9991:9990
- 65194:65193
volumes:
- ./ModuleB/target/ModuleB.war:/opt/jboss/wildfly/standalone/deployments/ModuleB.war
environment:
- MONGO_HOST=mongo
- MONGO_PORT=27017
- MONGO_USERNAME=myuser
- MONGO_PASSWORD=mypass
- MONGO_DATABASE=mydb
command: >
bash -c "/opt/jboss/wildfly/bin/add-user.sh admin Admin#007 --silent && /opt/jboss/wildfly/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0"
links:
- mongo
depends_on:
- mongo


mongo:
image: mongo:4.0.10
container_name: mongo
environment:
- MONGO_INITDB_ROOT_USERNAME=mongouser
- MONGO_INITDB_ROOT_PASSWORD=mongopass
ports:
- 27017:27017
- 27018:27018
- 27019:27019

我已经对端口进行了硬编码,我们是否应该注入(inject)硬编码端口或者它是如何工作的?

最佳答案

您可以将 moduleA 链接到 moduleB 中,就像对 mongo 所做的那样。然后在您的环境中使用相同的内容来定义 MODULEA_HOST 或在您的属性文件中使用。

关于java - docker-compose 中的容器发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57311867/

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