将 ruby 应用程序与 sidekiq 容器作业连接

问题描述 投票:0回答:1

我是 sidekiq 的新手。 我制作了一个 ruby 脚本,用于在 sidekiq 队列中发布数据,然后作业处理它们。 我想将这项工作进行 dockerize,但启动容器时不起作用,终端告诉我:

Connection refused - connect(2) for 127.0.0.1:6379
相反,我在脚本中设置
172.17.0.1:6379
作为连接字符串,即 docker ip 接口。 我在 redis.conf 中设置了绑定 0.0.0.0 而不是 127.0.0.1 但什么都没有

这是我的 Dockerfile:

FROM ruby:3.2.2
RUN apt-get update -qq && apt-get install -y build-essential
ENV RUBY "/home/user/project_dir"
WORKDIR $RUBY
RUN gem install bundler
COPY Gemfile* ./
RUN bundle install
ADD . /home/user/project_dir
CMD ["bundle", "exec", "sidekiq", "-q", "ruby"]

所以过程如下:脚本在本地主机中写入我的队列,然后我启动容器作业来读取此数据,但此作业无法与 Redis 连接。 谢谢您的帮助!

docker containers sidekiq
1个回答
0
投票

我解决了这个问题。 我尝试将脚本内的 ip 设置为“127.0.0.1”,而不是 172.17.0.1,并且似乎可以工作!

© www.soinside.com 2019 - 2024. All rights reserved.