Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment compléter ce tunnel SSH du docker de développement local à la base de données intermédiaire

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.