Pri vytváraní tohto súboru Dockerfile, keď sa dostane k príkazu:
rabbitmqctl status
Vracia sa:
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
Nemám potuchy, kam mám ísť odtiaľto.
Toto je súbor Docker, ktorý používam:
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
odpovede:
0 pre odpoveď č. 1Je to preto, že server rabitmq nie je spustený.
Docker pracuje na úrovni procesu. Každý riadok súboru Dockerfile je izolovaný a pobeží iba to, čo požadujete. Takže keď utekáte rabbitmqctl status
, hovorí uzol nadol, pretože v kontajneri nie je spustený žiadny iný proces.
Ak niečo také urobíte, funguje to:
RUN rabbitmq-server& sleep 1 && rabbitmqctl status
Vedľajšia poznámka: nepotrebujete sudo
. Ste už root.
Pravdepodobne by ste mali znova použiť oficiálny obrázok, aj keď potrebujete vlastné zmeny. Je to dobrý základ pre začatie: https://registry.hub.docker.com/_/rabbitmq/