मैं अपने डोकर सिस्टम में नए healthcheck एकीकृत करने के लिए प्रयास करते हैं, लेकिन मैं वास्तव में कैसे सही तरीके से यह करने के लिए पता नहीं है:/डोकर healthcheck
समस्या है, मेरी डेटाबेस कंटेनर अधिक की जरूरत है शुरू करने और डेटाबेस को प्रारंभ करने के लिए समय तो कंटेनर जो मेरा मुख्य अनुप्रयोग शुरू करता है। नतीजतन: मुख्य कंटेनर अनुपलब्ध डेटाबेस कनेक्शन के कारण, सही शुरू नहीं होगा। मैंने कनेक्टिविटी के लिए डेटाबेस कंटेनर की जांच करने के लिए एक healthcheck.sh स्क्रिप्ट लिखी है, इसलिए कनेक्टिविटी उपलब्ध होने के बाद मुख्य कंटेनर बूटिंग शुरू हो जाता है। लेकिन मुझे पता है कि यह Dockerfile और मेरे डोकर-compose.yml में सही ढंग से एकीकृत करने के लिए न
healthcheck.sh की तरह है:
#!bin/bash
COUNTER=0
while [[ $COUNTER = 0 ]]; do
mysql --host=HOST --user="user" --password="password" --database="databasename" --execute="SELECT 1";
if [[ $? == 1 ]]; then
sleep 1
echo "Let's sleep again"
else
COUNTER=1
echo "OK, lets go!"
fi
done
mysql कंटेनर Dockerfile:
FROM repository/mysql-5.6:latest
MAINTAINER Me
... some copies, chmod and so on
VOLUME ["/..."]
EXPOSE 3306
CMD [".../run.sh"]
HEALTHCHECK --interval=1s --timeout=3s CMD ./healthcheck.sh
डोकर-लिखें .yml जैसे:
version: '2'
services:
db:
image: db image
restart: always
dns:
- 10.
ports:
- "${MYSQL_EXTERNAL_PORT}:${MYSQL_INTERNAL_PORT}"
environment:
TZ: Europe/Berlin
data:
image: data image
main application:
image: application image
restart: always
dns:
- 10.
ports:
- "${..._EXTERNAL_PORT}:${..._INTERNAL_PORT}"
environment:
TZ: Europe/Berlin
volumes:
- ${HOST_BACKUP_DIR}:/...
volumes_from:
- data
- db
इस डॉक्टर को मेरे डॉक्टर में एकीकृत करने के लिए मुझे क्या करना है काम करने के लिए ker-compose.yml फ़ाइल? या क्या मेरे मुख्य कंटेनर के कंटेनर स्टार्टअप में देरी करने का कोई अन्य मौका है?
Thx मार्कस
Danke एंड्रियास, दास hab ich wohl überlesen:
तो आप सभी की जरूरत चाहिए एक डोकर-compose.yml कि इस तरह दिखता है है – aTTraX