【发布时间】:2020-10-06 04:37:19
【问题描述】:
我有一个 Java 应用程序在 Docker 容器中运行,rabbitmq 在另一个容器中。
如何连接容器以在我的 Java 应用程序中使用 rabbitmq?
【问题讨论】:
标签: docker networking spring-rabbit
我有一个 Java 应用程序在 Docker 容器中运行,rabbitmq 在另一个容器中。
如何连接容器以在我的 Java 应用程序中使用 rabbitmq?
【问题讨论】:
标签: docker networking spring-rabbit
您必须建立一个网络并将正在运行的容器连接到该网络。
然后你必须将你的应用的连接 URL 设置为 Docker 容器中rabbitmq 的网络名称。
最简单的方法是创建docker-compose 文件,因为它会自动创建网络并附加容器。
或者
docker-compose.yml 的示例
version: '3.7'
services:
yourapp:
image: image_from_dockerhub_or_local // or use "build: ./myapp_folder_below_this_where_is_the_Dockerfile" to build container from scratch
hostname: myapp
ports:
- 8080:8080
rabbitmq:
image: rabbitmq:3.8.3-management-alpine
hostname: rabbitmq
environment:
RABBITMQ_DEFAULT_USER: user
RABBITMQ_DEFAULT_PASS: pass
ports:
- 5672:5672
- 15672:15672
您可以使用docker-compose up 命令运行它。
然后在您的连接网址中使用host:rabbitmq、port:5672。
请注意,如果您不想从主机访问rabbitmq,则不必创建端口转发。
【讨论】: