Docker等待PostgreSQL运行

我在项目中将Django与PostgreSQL一起使用。我把它们放在不同的容器中,问题是我需要在运行django之前等待postgres。这时我正在用sleep

5django容器的command.sh文件执行此操作。我还发现netcat可以解决问题,但是我更喜欢没有附加软件包的方法。curl和wget无法执行此操作,因为它们不支持postgres协议。有办法吗?

回答:

您的解决方案tiziano的问题是,默认情况下未安装curl,我想避免安装其他东西。无论如何,我做了贝雷亚尔所说的。这是脚本,如果有人需要的话。

import socket

import 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

回到顶部