sql >> Databasteknik >  >> RDS >> Mysql

Hur slutför jag denna SSH-tunnel från lokal utvecklingsdocka till iscensättningsdatabas

Om du vill att PHP-behållaren ska ha en permanent SSH-tunnel till din fjärrdatabas, kan du ändra din Dockerfiles COMMAND sats (förutsatt att ENTRYPOINT är ett skal) för att använda ett skript som skapar SSH-tunneln i bakgrunden, liknande det du manuellt, vänta på SSH-tunneln och fortsätt sedan att köra vad det är du vill köra.

Din fråga saknar detaljer om vad du försöker uppnå (permanent tunnel? endast under testning? etc.)

Ett exempel på ett sådant skript:

# 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
# ...

Jag skulle föreslå att du överväger en annan väg -
Skapa en ny tjänst i docker-compose-filen som är dedikerad för att öppna en tunnel och anslut sedan till den tjänsten från din PHP-tjänst.




  1. com.microsoft.sqlserver.jdbc.SQLServerException:TCP/IP-anslutningen till värdens lokala värd, port 1433 har misslyckats

  2. I PostgreSQL, har flera UPPDATERINGAR till olika rader i samma tabell motstridiga lås?

  3. Självhänvisande främmande nyckel i sequlize js

  4. Hur kör man lagrad procedur med in- och utdataparametrar med EF?