为了账号安全,请及时绑定邮箱和手机立即绑定

码头工人在启动Y前等待容器X

码头工人在启动Y前等待容器X

码头工人在启动Y前等待容器X我使用的是Rabbitmq和一个简单的python示例这里和码头工一起。我的问题是,我需要等待狂犬病完全开始。从我到目前为止搜索的内容来看,我不知道如何使用容器x(在我的例子中是工作者)等待,直到y(Rabbitmq)启动。我发现了这个博客检查另一个主机是否在线。我还找到了这个码头指挥:等,等候用途:码头等待容器[集装箱.]阻塞,直到容器停止为止,然后打印其退出代码。等待容器停止可能不是我想要的,但是如果是的话,是否可以在docker-come.yml中使用这个命令呢?到目前为止,我的解决方案是等待几秒钟并检查端口,但这是否实现这一目标的方法呢?如果我不等待,我就会出错。Docker-Compose.ymlworker:     build: myapp/.     volumes:     - myapp/.:/usr/src/app:ro     links:     - rabbitmq rabbitmq:     image: rabbitmq:3-managementPythonHello示例(rabbit.py):import pika import time import socket pingcounter = 0 isreachable = False while isreachable is False and pingcounter < 5:     s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)     try:         s.connect(('rabbitmq', 5672))         isreachable = True     except socket.error as e:         time.sleep(2)         pingcounter += 1     s.close() if isreachable:     connection = pika.BlockingConnection(pika.ConnectionParameters(             host="rabbitmq"))     channel = connection.channel()     channel.queue_declare(queue='hello')     channel.basic_publish(exchange='',                           routing_key='hello',                           body='Hello World!')     print (" [x] Sent 'Hello World!'")     connection.close()工人文件:FROM python:2-onbuild RUN ["pip", "install", "pika"] CMD ["python","rabbit.py"]
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 500 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信