美文网首页
利用docker同步线上环境至本地

利用docker同步线上环境至本地

作者: Shuanghe | 来源:发表于2017-12-03 20:41 被阅读0次

    当我们遇到某些蛋疼的时刻:开发环境和测试环境都没问题,偏偏线上环境出bug。如果你的项目使用了docker,可以完美同步一份线上环境至本地debug。关键词:docker,ssh。

    第一步,利用ssh,将开发环境服务端口转发至本地。

    线上环境的诸多服务,比如mysql,redis,mongo等待,一般都是监听127.0.0.1端口,仅限本机访问。这个时候,可以利用ssh端口转发功能,转发至开发环境,命令如下:

    ssh -NTC -L 0.0.0.0:13306:yourmysqlhost:3306 yourname@yourserverhost -p 22
    

    起到的作用就是将服务端的mysql服务3306(可以是本地,也可以是仅限生产机访问的云服务,如阿里云内网)通过ssh转发至本地13306端口。
    连接后,执行命令telnet 127.0.0.1:13306测试是否转发成功。

    第二步,本地运行生产环境docker镜像

    一般都是通过docker-compose编排好的服务,进入包含docker-compose.yml文件的目录下运行docker-compose up --build即可一键部署环境。docker编排可简单参考docker-lnmp
    注意:此时服务连接地址应改为宿主机内网IP,而非127.0.0.1。
    配置好host,此时就能愉快地debug了。

    相关文章

      网友评论

          本文标题:利用docker同步线上环境至本地

          本文链接:https://www.haomeiwen.com/subject/yojzbxtx.html