sql >> Databáze >  >> RDS >> Mysql

Jak dokončím tento tunel SSH z místního vývojového dockeru do pracovní databáze

Pokud chcete, aby měl kontejner PHP trvalý tunel SSH do vaší vzdálené databáze, můžete změnit COMMAND v Dockerfile příkaz (za předpokladu ENTRYPOINT je shell) použijte skript, který vytvoří tunel SSH na pozadí, podobně jako ručně, počkejte na tunel SSH a poté pokračujte ve spuštění čehokoli, co chcete spustit.

Ve vaší otázce chybí podrobnosti o tom, čeho se snažíte dosáhnout (trvalý tunel? pouze při testování? atd.)

Příklad takového skriptu:

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

Navrhoval bych zvážit jinou cestu -
Vytvořte v souboru docker-compose novou službu, která je vyhrazena pro otevření tunelu, a poté se k této službě připojte z vaší služby PHP.




  1. Docker s mysql:Chyba znamená, že mysqld nemá přístupová práva k adresáři

  2. Nalezení spanning forest (S REKURSIVNÍM, PostgreSQL 9.5)

  3. Jak vytvořit GROUP BY v minimální a maximální datum

  4. Erlang Mysql:Jak zabránit injekcím SQL