多くの検索を行いましたが、この問題を修正できません。
次のコマンドで基本的な Rabbitmq コンテナーを実行しています。
docker run -d --hostname rabbitmqhost --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:3-management
nameko
このコンテナに接続するマイクロサービスを作成するために使用しています。基本的なマイクロサービス モジュールは次のmain.py
とおりです。
from nameko.rpc import rpc
class Service_Name(object):
name = "service_name"
@rpc
def service_endpoint(self, arg=None):
logging.info('service_one endpoint, arg = %s', arg)
このサービスが実行され、次のコマンドを使用してホスト マシンから rabbitmq に接続します。
nameko run main --broker amqp://guest:guest@localhost
サービスを Docker コンテナー ( と呼ばれる) に配置したかったのservice_one
ですが、そうして前の nameko コマンドを実行するsocket.error: [Errno 111] ECONNREFUSED
と、2 つのコンテナーをどのようにリンクしようとしても取得されません。
正しい方法は何ですか?目的は、各サービスをコンテナーに入れ、すべてがうさぎを介して互いに通信することです。ありがとう。