sql >> データベース >  >> RDS >> Mysql

ローカル開発DockerからステージングデータベースへのこのSSHトンネルを完了するにはどうすればよいですか?

    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サービスからそのサービスに接続します。




    1. 複数の列を持つPostgreSQLの重複行の削除

    2. gcloud sqlコマンドを使用して、GoogleCloudSQLインスタンスでSQLファイルを実行できますか

    3. sqlplusでSTARTを使用して呼び出されるSQLファイル内のPL/SQLブロックに引数を渡すにはどうすればよいですか?

    4. PLPDF_TOOLKIT PL / SQLパッケージを使用して、Oracleで複数のPDFファイルを1つのPDFにマージ/結合