Jika Anda ingin wadah PHP memiliki terowongan SSH permanen ke DB jarak jauh Anda, Anda dapat mengubah COMMAND
Dockerfile Anda pernyataan (dengan asumsi ENTRYPOINT
adalah shell) untuk menggunakan skrip yang membuat terowongan SSH di latar belakang, mirip dengan yang Anda lakukan secara manual, tunggu terowongan SSH dan kemudian lanjutkan untuk menjalankan apa pun yang ingin Anda jalankan.
Pertanyaan Anda tidak memiliki detail tentang apa yang ingin Anda capai (terowongan permanen? hanya saat pengujian? dll.)
Contoh untuk skrip tersebut:
# 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
# ...
Saya sarankan untuk mempertimbangkan jalur yang berbeda -
Buat layanan baru di file docker-compose yang didedikasikan untuk membuka terowongan, lalu sambungkan ke layanan itu dari layanan PHP Anda.