【问题标题】:Containerized Laravel application that connects to a remote database连接到远程数据库的容器化 Laravel 应用程序
【发布时间】:2021-09-26 12:11:20
【问题描述】:

大家好,我有一个 Laravel 应用程序,它应该连接到生产中的远程 MYSQL 数据库,为了简化部署,我正在使用 docker。我已经设置了一个 GitHub 操作工作流,当我推送到 master 分支时会触发该工作流,该工作流本质上会运行几个测试,然后将我的应用程序构建到一个图像中,然后推送到 docker hub。 为了避免在构建过程中运行 composer dump-autoload 时出现数据库连接问题,我允许来自任何主机的连接(将绑定地址更改为 0.0 .0.0 in mysql config),并设置 mysql 用户从任何主机连接。这似乎可以解决问题,但我担心的显然是将我的数据库服务暴露给全世界。幸运的是,可以为 Github 操作设置我自己的专用服务器,这意味着我可以轻松地将我的数据库服务限制在该主机上。这会是理想的解决方案,还是有无需连接到数据库即可运行工作流的方法?

【问题讨论】:

    标签: laravel docker docker-compose github-actions


    【解决方案1】:

    尝试使用 SSH 隧道连接到远程数据库

    ssh -N -L 3336:127.0.0.1:3306 [USER]@[REMOTE_SERVER_IP]
    

    有了这个,你不需要向世界发布 MySQL 并且可以将它绑定到远程主机上的 127.0.0.1。

    【讨论】:

      猜你喜欢
      • 2018-01-02
      • 1970-01-01
      • 2021-11-23
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      • 2017-10-17
      • 2018-11-24
      • 1970-01-01
      相关资源
      最近更新 更多