2017-12-11 5 views
0

ファイルドッカーでRabbitMQのユーザーを追加することはできません。ここには私が私のイメージからドッカコンテナを実行しますが、それは、そのノードがダウンしている不平を言うときRabbitMQのユーザーを追加しよう

Error: unable to connect to node [email protected]: nodedown 

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

attempted to contact: [[email protected]] 

[email protected]: 
    * connected to epmd (port 4369) on 3af546685019 
    * epmd reports: node 'rabbit' not running at all 
        no other nodes on 3af546685019 
    * suggestion: start the node 

current node details: 
- node name: '[email protected]' 
- home dir: /var/lib/rabbitmq 
- cookie hash: pgr3C5mfbuw86BKnW7cJpw== 

Error: unable to connect to node [email protected]: nodedown 

は私Dockerfileです:

FROM rabbitmq:3.6.14 

ADD rabbitmq_users.sh /usr/lib/rabbitmq/bin 
WORKDIR /usr/lib/rabbitmq/bin 
RUN rabbitmq-plugins enable --offline rabbitmq_management 
ENTRYPOINT ["rabbitmq_users.sh"] 

EXPOSE 4369 25672 5672 15672 

とrabbitmq_users.sh:それはRABを実行する前に、最初のrabbitmq_users.shを実行よう

#!/bin/sh 

echo "Creating a user..." 
sleep 10 
rabbitmqctl add_user rmquser rmquser 2>/dev/null 
rabbitmqctl set_user_tags rmquser administrator 
rabbitmqctl set_permissions -p/rmquser ".*" ".*" ".*" 

が見えますrabbitmq:3.6.14イメージからのbitmq-server私はrabbitmqサーバが起動していることを証明するログは見えないので、私は継承しています。たとえば、このENTRYPOINTスクリプトを無効にするユーザーを作成しないと、サーバーが起動して正常に動作します。

誰かがこれを解決するのに手伝ってもらえますか?

答えて

0

rabbitmq imageには、すでにENTRYPOINT ["docker-entrypoint.sh"]と定義されているエントリポイントがあります。エントリポイントを定義すると、ベースイメージで定義されているエントリが上書きされます。したがって、rabbitmqは起動しません。

FROM rabbitmq:3.6.14 

ADD rabbitmq_users.sh /usr/lib/rabbitmq/bin 
WORKDIR /usr/lib/rabbitmq/bin 
RUN rabbitmq-plugins enable --offline rabbitmq_management 
ENTRYPOINT ["./usr/local/bin/docker-entrypoint.sh rabbitmq-server && ./rabbitmq_users.sh"] 

EXPOSE 4369 25672 5672 15672 
+0

ありがとうございます。私はそれを試して、それがどうなっているかをチェックします... – Shendor

+0

これは、コンテナを実行するときに受け取るものです: "docker:デーモンからのエラー応答:OCIランタイムの作成に失敗しました:container_linux.go:295: :\ "docker-entrypoint.sh rabbitmq-server && rabbitmq_users.sh \":$ PATHに実行ファイルが見つかりません ":不明" – Shendor

+0

Dockerfileが更新されました。再試行できますか? – yamenk

0

私はそれがこのように私のrabbitmq_users.shを調整することで動作させることもできます:あなたがする必要がどのような は、ユーザースクリプトを「追加」である

#!/bin/sh 

# Create Rabbitmq user 
(rabbitmqctl add_user rmquser rmquser 2>/dev/null ; \ 
rabbitmqctl set_user_tags rmquser administrator ; \ 
rabbitmqctl set_permissions -p/rmquser ".*" ".*" ".*" ; \ 
echo "User 'rmquser' has been created") & rabbitmq-server 

と使用CMDの代わりENTRYPOINT I私のスクリプトを提供しました:

... 
CMD ["rabbitmq_users.sh"] 
関連する問題

 関連する問題