Ако искате PHP контейнерът да има постоянен SSH тунел към вашата отдалечена база данни, можете да промените COMMAND
на Dockerfile израз (приемайки ENTRYPOINT
е обвивка), за да използвате скрипт, който създава SSH тунел във фонов режим, подобно на това, което вие ръчно изчаквате SSH тунела и след това продължавате да изпълнявате каквото искате да стартирате.
Във въпроса ви липсват подробности за това, което се опитвате да постигнете (постоянен тунел? само по време на тестване? и т.н.)
Пример за такъв скрипт:
# 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 услуга.