Si vous souhaitez que le conteneur PHP ait un tunnel SSH permanent vers votre base de données distante, vous pouvez modifier la COMMAND
de votre Dockerfile. déclaration (en supposant que le ENTRYPOINT
est un shell) pour utiliser un script qui crée le tunnel SSH en arrière-plan, similaire à ce que vous faites manuellement, attendez le tunnel SSH puis continuez à exécuter ce que vous voulez exécuter.
Votre question manque de détails sur ce que vous essayez d'obtenir (tunnel permanent ? Uniquement pendant les tests ? etc.)
Un exemple d'un tel 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
# ...
Je suggérerais d'envisager un chemin différent -
Créez un nouveau service dans le fichier docker-compose dédié à l'ouverture d'un tunnel, puis connectez-vous à ce service à partir de votre service PHP.