PHPコンテナにリモートDBへの永続的なSSHトンネルを持たせたい場合は、DockerfileのCOMMAND
を変更できます。 ステートメント(ENTRYPOINT
を想定) はシェルです)手動で行うのと同様に、バックグラウンドでSSHトンネルを作成するスクリプトを使用するには、SSHトンネルを待ってから、実行したいものを実行します。
あなたの質問には、あなたが達成しようとしていることの詳細が欠けています(永続的なトンネル?テスト中のみ?など)
そのようなスクリプトの例:
# 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
# ...
別のパスを検討することをお勧めします-
トンネルを開くための専用のdocker-composeファイルに新しいサービスを作成し、PHPサービスからそのサービスに接続します。