我有一个项目,其中Rabbit被启动:
services:
rabbitmq:
image: rabbitmq:3-management-alpine
container_name: 'rabbitmq'
ports:
- 5672:5672
- 15672:15672
volumes:
- ~/.docker-conf/rabbitmq/data/:/var/lib/rabbitmq/
- ~/.docker-conf/rabbitmq/log/:/var/log/rabbitmq
networks:
- rabbitmq_go_net
networks:
rabbitmq_go_net:
driver: bridge
然后我做了另一个连接到这个队列的项目。没有doker,我只是使用localhost作为主机和端口号5672。
我想在docker中用数据库运行另一个项目:
version: '3'
services:
postgres:
image: postgres:12
restart: always
networks:
- rabbitmq_go_net
ports:
- '5432:5432'
volumes:
- ./db_data:/var/lib/postgresql/data
- ./app/internal/config/dbconfig/init.sql:/docker-entrypoint-initdb.d/create_tables.sql
env_file:
- ./app/internal/config/dbconfig/.env
healthcheck:
test: [ "CMD", "pg_isready", "-q", "-d", "devdb", "-U", "postgres" ]
timeout: 45s
interval: 10s
retries: 10
app:
build: app
networks:
- rabbitmq_go_net
depends_on:
postgres:
condition: service_healthy
volumes:
db_data:
networks:
rabbitmq_go_net:
driver: bridge
现在我无法连接到Rabbit。我尝试使用相同的名称创建不同的网络,但每次我都会遇到相同的错误:
FATA[2022-07-31T13:24:09Z]ipstack/internal.(*app).startConsume() app.go:43 failed to connect to RabbitMQ due dial tcp 127.0.0.1:5672: connect: connection refused
连接:
addr := fmt.Sprintf("amqp://%s:%s@%s:%s/", cfg.Username, cfg.Password, cfg.Host, cfg.Port)
其中 host 是容器名称 rabbitmq。是否可以执行此操作,或者是否有必要以其他方式将程序放入容器中?我会很乐意帮忙
我认为问题在于,尽管在两个不同的组合文件中使用了相同的名称,但您的Docker网络并不相同。Docker使用项目名称在组合文件中声明的网络前缀,以避免冲突。
你所寻找的一切都可以在这个SO响应和相应的线程中找到。它展示了如何在网络上使用< code>external标志,这样第二次构建就不会创建新的网络,还讨论了Docker如何使用项目名称作为网络名称的前缀,这样您就可以预测生成的网络名称可能是什么。
或者,您可以使用 docker 网络创建提前创建网络
,并在两个撰写文件中使用外部
标志,这样您就不必担心 docker 的命名召集。
我想在一个docker容器中运行Rabbitmq服务器,并使用芹菜从另一个容器连接到它(http://celeryproject.org/) 我已使用以下命令运行rabbitmq。。。 然后通过 当我试图做非常基本的教程来验证http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html 我得
问题内容: 我有应用程序,使用过Tornado和tornado-redis。我开始[redis]中的[image“ app” 然后我想将我的应用程序与redis链接: 我有错误: 我已经用本地tornado和redis测试了我的代码,并且可以正常工作。问题在 为什么我的应用无法连接到Redis容器?如何解决?我使用标准端口6379。 谢谢! 问题答案: 尝试在上使用redis 。(请参见此处的源代
从我的spring-boot应用程序容器连接到Rabbitmq时,我遇到了一个错误。 我在docker compose文件中附加了两个docker容器(Rabbitmq和spring-boot应用程序)和网桥网络: 当我的Spring Boot应用程序尝试连接到后者时,Rabbitmq拒绝了连接。日志下方: 当我在我的spring boot应用程序容器(在我的例子中是orchestrator)中执
我正在尝试从另一个码头工人容器连接到 kafka docker 容器。但它没有连接。 为了运行kafka和zookeeper,我使用了docker compose文件: 容器docker compose 17138956372294708100 _ kafkatest . producer _ 1和docker compose 17138956372294708100 _ kafkatest .
我有一个Java应用程序在Docker容器中运行,在另一个容器中运行。 如何连接容器以在Java应用程序中使用<code>rabbitmq</code>?
我有一个jenkins在docker容器中运行,另一个docker在不同的docker容器中运行。 我已经映射了/var/run/docker。将本地机器的sock文件保存到docker容器中,并且我能够在docker容器中执行docker命令。docker容器和jenkins容器都位于同一网络上。但当从詹金斯连接到docker集装箱时,我的连接被拒绝了。我已将666个权限授予/var/run/d