Docker等待PostgreSQL运行
我在项目中将Django与PostgreSQL一起使用。我把它们放在不同的容器中,问题是我需要在运行django之前等待postgres。这时我正在用sleep
5django容器的command.sh文件执行此操作。我还发现netcat可以解决问题,但是我更喜欢没有附加软件包的方法。curl和wget无法执行此操作,因为它们不支持postgres协议。有办法吗?
回答:
您的解决方案tiziano的问题是,默认情况下未安装curl,我想避免安装其他东西。无论如何,我做了贝雷亚尔所说的。这是脚本,如果有人需要的话。
import socketimport time
import os
port = int(os.environ["DB_PORT"]) # 5432
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
while True:
try:
s.connect(('myproject-db', port))
s.close()
break
except socket.error as ex:
time.sleep(0.1)
以上是 Docker等待PostgreSQL运行 的全部内容, 来源链接: utcz.com/qa/400166.html