sql >> Database teknologi >  >> RDS >> Mysql

Hvordan fuldfører jeg denne SSH-tunnel fra lokal udviklingsdoker til iscenesættelsesdatabase

Hvis du ønsker, at PHP-containeren skal have en permanent SSH-tunnel til din eksterne DB, kan du ændre din Dockerfiles COMMAND sætning (under forudsætning af ENTRYPOINT er en shell) for at bruge et script, der opretter SSH-tunnelen i baggrunden, svarende til hvad du manuelt, vent på SSH-tunnelen og fortsæt derefter med at køre, hvad det er, du vil køre.

Dit spørgsmål mangler detaljerne om, hvad du forsøger at opnå (permanent tunnel? kun under test? osv.)

Et eksempel på et sådant 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
# ...

Jeg vil foreslå at overveje en anden sti -
Opret en ny tjeneste i docker-compose-filen, der er dedikeret til at åbne en tunnel, og opret derefter forbindelse til denne tjeneste fra din PHP-tjeneste.




  1. PostgreSQL, kan ikke opdatere række (med sikkerhed på rækkeniveau)

  2. Jeg er ikke i stand til at finde ud af, hvilken forkert jeg begik ved at lave denne MYSQL-forespørgsel

  3. Autorunning forespørgsel i mysql

  4. Gå gennem kolonnerne i RECORD