我是 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 连接。 谢谢您的帮助!
我解决了这个问题。 我尝试将脚本内的 ip 设置为“127.0.0.1”,而不是 172.17.0.1,并且似乎可以工作!