【问题标题】:rabbitMQ nodedown error from Dockerfile来自 Dockerfile 的 rabbitMQ nodedown 错误
【发布时间】:2015-06-18 15:24:14
【问题描述】:

在构建这个 Dockerfile 时,当它到达命令时:

rabbitmqctl status

它返回:

Error: unable to connect to node rabbit@d3659c5e113e: nodedown

DIAGNOSTICS
===========

nodes in question: [rabbit@d3659c5e113e]

hosts, their running nodes and ports:
- d3659c5e113e: [{rabbitmqctl20,52855}]

current node details:
- node name: rabbitmqctl20@d3659c5e113e

我不知道从这里去哪里。

这是我正在使用的 Docker 文件:

FROM ubuntu
MAINTAINER Will Mayger
RUN echo "deb http://archive.ubuntu.com/ubuntu/ $(lsb_release -sc) main universe" >> /etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y tar git curl nano wget dialog net-tools build-essential
RUN apt-get install -y python python-dev python-distribute python-pip
RUN wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
RUN apt-key add rabbitmq-signing-key-public.asc
RUN sudo apt-get -y install rabbitmq-server
RUN sudo rabbitmqctl status
RUN sudo rabbitmqctl add_user test testpass1
RUN sudo rabbitmqctl add_vhost myvhost
RUN sudo rabbitmqctl set_permissions -p myvhost test ".*" ".*" ".*"
RUN sudo rabbitmq-server
RUN git clone https://github.com/CanopyCloud/microservice-python
RUN pip install -r /microservice-python/requirements.txt
EXPOSE 80
WORKDIR /microservice-python/

CMD python /microservice-python/server.py

【问题讨论】:

    标签: ubuntu docker rabbitmq dockerfile rabbitmqctl


    【解决方案1】:

    这是因为rabitmq服务器没有运行。

    Docker 在进程级别工作。 Dockerfile 的每一行都是隔离的,只会运行您要求的内容。所以当你运行rabbitmqctl status时,它会说节点已关闭,因为容器中没有其他进程在运行。

    如果你这样做,它会起作用:

    RUN rabbitmq-server& sleep 1 && rabbitmqctl status
    

    旁注:您不需要sudo。你已经是root了。

    此外,您可能应该重用官方图像,即使您需要自定义更改。这是一个很好的开始:https://registry.hub.docker.com/_/rabbitmq/

    【讨论】:

      猜你喜欢
      • 2015-03-31
      • 1970-01-01
      • 1970-01-01
      • 2019-07-05
      • 1970-01-01
      • 2017-06-20
      • 1970-01-01
      • 1970-01-01
      • 2014-10-14
      相关资源
      最近更新 更多