Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como faço para concluir este túnel SSH do docker de desenvolvimento local para o banco de dados de teste


Se você quiser que o contêiner PHP tenha um túnel SSH permanente para seu banco de dados remoto, você pode alterar o COMMAND do Dockerfile instrução (assumindo o ENTRYPOINT é um shell) para usar um script que cria o túnel SSH em segundo plano, semelhante ao que você faz manualmente, aguarde o túnel SSH e depois prossiga para executar o que você deseja executar.

Sua pergunta não tem os detalhes do que você está tentando alcançar (túnel permanente? apenas durante o teste? etc.)

Um exemplo para tal 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
# ...

Sugiro considerar um caminho diferente -
Crie um novo serviço no arquivo docker-compose dedicado a abrir um túnel e, em seguida, conecte-se a esse serviço a partir do seu serviço PHP.