Si desea que el contenedor de PHP tenga un túnel SSH permanente a su base de datos remota, puede cambiar el COMMAND
de Dockerfile. declaración (suponiendo que el ENTRYPOINT
es un shell) para usar una secuencia de comandos que crea el túnel SSH en segundo plano, similar a lo que hace manualmente, espere el túnel SSH y luego proceda a ejecutar lo que sea que desee ejecutar.
Su pregunta carece de los detalles de lo que está tratando de lograr (¿túnel permanente? ¿solo durante la prueba? etc.)
Un ejemplo de dicho 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
# ...
Sugeriría considerar una ruta diferente:
Cree un nuevo servicio en el archivo docker-compose que esté dedicado a abrir un túnel y luego conéctese a ese servicio desde su servicio PHP.