Jeśli chcesz, aby kontener PHP miał stały tunel SSH do zdalnej bazy danych, możesz zmienić COMMAND pliku Dockerfile instrukcja (zakładając ENTRYPOINT jest powłoką), aby użyć skryptu, który tworzy tunel SSH w tle, podobnie do tego, co robisz ręcznie, poczekaj na tunel SSH, a następnie przejdź do uruchomienia tego, co chcesz uruchomić.
Twoje pytanie nie zawiera szczegółów tego, co chcesz osiągnąć (stały tunel? tylko podczas testowania? itp.)
Przykład takiego skryptu:
# run ssh in background (notice the "&" at the end)
ssh -4 -R 8888:localhost:8888 example@sqldat.com$DB_HOST -i ~/ident -p $DB_PORT &
# wait for the ssh tunnel if needed
# ...
# run the main command here
# ...
Sugeruję rozważenie innej ścieżki -
Utwórz nową usługę w pliku docker-compose, która jest przeznaczona do otwierania tunelu, a następnie połącz się z tą usługą z Twojej usługi PHP.