我在项目中使用postgresql和django.我把它们放在不同的容器中,问题是我需要在运行django之前等待postgres.此时,我正在用command.sh
文件中的sleep 5
个django容器来做这件事.我更喜欢Netway,但我也可以不使用额外的软件包.curl
和wget
不能这样做,因为它们不支持postgres协议.
我在项目中使用postgresql和django.我把它们放在不同的容器中,问题是我需要在运行django之前等待postgres.此时,我正在用command.sh
文件中的sleep 5
个django容器来做这件事.我更喜欢Netway,但我也可以不使用额外的软件包.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)