解决微服务在docker上部署后无法连接数据库的问题
在利用docker部署完應(yīng)用程序后,就接著考慮如何將程序連接到數(shù)據(jù)庫(kù)。
但是過(guò)程中發(fā)現(xiàn)一些問(wèn)題:
本地程序在打包后連接的是本地的數(shù)據(jù)庫(kù),在服務(wù)器上部署之后必須提供相同的環(huán)境才能部署成功。
這里博主用的是寶塔安裝的mysql,并嘗試把用戶名,數(shù)據(jù)庫(kù)名,密碼全部和自己的開(kāi)發(fā)時(shí)的環(huán)境完全一致。
但是嘗試多次之后,即便是修改的一模一樣,在centos上運(yùn)行還是報(bào)錯(cuò)。
這是當(dāng)時(shí)連接數(shù)據(jù)庫(kù)的url
想了多次還是無(wú)法理解,甚至嘗試過(guò)在docker上再創(chuàng)建一個(gè)mysql的容器,但是提示3306的端口被占用了。
就在無(wú)可奈何準(zhǔn)備放棄的時(shí)候,
當(dāng)時(shí)看了下mysql的一些視頻(因?yàn)榭炜紨?shù)據(jù)庫(kù)了),講到navicat也是可以連接遠(yuǎn)程數(shù)據(jù)庫(kù)的,當(dāng)時(shí)想了下,覺(jué)的比較有趣,嘗試了下,成功了,頓時(shí)覺(jué)得數(shù)據(jù)庫(kù)的連接有出路了。
解決辦法
將localhost換成自己服務(wù)器的ip地址
##前提是開(kāi)放自己數(shù)據(jù)庫(kù)的權(quán)限
也就是在開(kāi)發(fā)時(shí),連接的是自己服務(wù)器的數(shù)據(jù)庫(kù),這樣即使你在任意的主機(jī)上也不存在數(shù)據(jù)庫(kù)環(huán)境的問(wèn)題了。
話說(shuō)回來(lái),為什么localhost不行呢?
總結(jié)
以上是生活随笔為你收集整理的解决微服务在docker上部署后无法连接数据库的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql添加新用户
- 下一篇: mysq和mysqli关系