Pokud chcete, aby měl kontejner PHP trvalý tunel SSH do vaší vzdálené databáze, můžete změnit COMMAND
v Dockerfile příkaz (za předpokladu ENTRYPOINT
je shell) použijte skript, který vytvoří tunel SSH na pozadí, podobně jako ručně, počkejte na tunel SSH a poté pokračujte ve spuštění čehokoli, co chcete spustit.
Ve vaší otázce chybí podrobnosti o tom, čeho se snažíte dosáhnout (trvalý tunel? pouze při testování? atd.)
Příklad takového skriptu:
# 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
# ...
Navrhoval bych zvážit jinou cestu -
Vytvořte v souboru docker-compose novou službu, která je vyhrazena pro otevření tunelu, a poté se k této službě připojte z vaší služby PHP.