Se vuoi che il contenitore PHP abbia un tunnel SSH permanente verso il tuo DB remoto, puoi cambiare il COMMAND
di Dockerfile istruzione (assumendo il ENTRYPOINT
è una shell) per utilizzare uno script che crea il tunnel SSH in background, simile a quello che si fa manualmente, attendere il tunnel SSH e quindi procedere con l'esecuzione di qualsiasi cosa si desideri eseguire.
La tua domanda non ha i dettagli di ciò che stai cercando di ottenere (tunnel permanente? solo durante il test? ecc.)
Un esempio di tale script:
# 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
# ...
Suggerirei di considerare un percorso diverso -
Crea un nuovo servizio nel file docker-compose dedicato all'apertura di un tunnel, quindi connettiti a quel servizio dal tuo servizio PHP.