我在项目中将Django与PostgreSQL一起使用。我把它们放在不同的容器中,问题是我需要在运行django之前等待postgres。这时我正在用sleep 5django容器的command.sh文件执行此操作。我还发现netcat可以解决问题,但是我更喜欢没有附加软件包的方法。curl和wget无法执行此操作,因为它们不支持postgres协议。有办法吗?
sleep 5
您的解决方案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)