Als u wilt dat de PHP-container een permanente SSH-tunnel naar uw externe DB heeft, kunt u de COMMAND
van uw Dockerfile wijzigen statement (uitgaande van het ENTRYPOINT
is een shell) om een script te gebruiken dat de SSH-tunnel op de achtergrond maakt, vergelijkbaar met wat u handmatig doet, wacht op de SSH-tunnel en ga dan verder met het uitvoeren van wat u maar wilt.
Uw vraag mist de details van wat u probeert te bereiken (permanente tunnel? alleen tijdens het testen? enz.)
Een voorbeeld van zo'n 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
# ...
Ik stel voor om een ander pad te overwegen -
Maak een nieuwe service in het docker-compose-bestand dat is bedoeld om een tunnel te openen, en maak vervolgens verbinding met die service vanuit uw PHP-service.