यदि आप चाहते हैं कि PHP कंटेनर में आपके दूरस्थ DB के लिए एक स्थायी SSH सुरंग हो, तो आप Dockerfile के COMMAND
को बदल सकते हैं। कथन (ENTRYPOINT
मानकर एक शेल है) एक स्क्रिप्ट का उपयोग करने के लिए जो पृष्ठभूमि में एसएसएच सुरंग बनाता है, जैसा कि आप मैन्युअल रूप से करते हैं, एसएसएच सुरंग की प्रतीक्षा करें और फिर जो कुछ भी आप चलाना चाहते हैं उसे चलाने के लिए आगे बढ़ें।
आपके प्रश्न में इस बात का विवरण नहीं है कि आप क्या हासिल करने की कोशिश कर रहे हैं (स्थायी सुरंग? केवल परीक्षण के दौरान? आदि)
ऐसी स्क्रिप्ट का एक उदाहरण:
# run ssh in background (notice the "&" at the end)
ssh -4 -R 8888:localhost:8888 [email protected]$DB_HOST -i ~/ident -p $DB_PORT &
# wait for the ssh tunnel if needed
# ...
# run the main command here
# ...
मैं एक अलग पथ पर विचार करने का सुझाव दूंगा -
डॉकर-कंपोज़ फ़ाइल में एक नई सेवा बनाएं जो एक सुरंग खोलने के लिए समर्पित है, और फिर अपनी PHP सेवा से उस सेवा से कनेक्ट करें।