看板 Soft_Job 關於我們 聯絡資訊
最近在研究docker 容器 想用寫好的go去連mysql 這是我的docker-compose檔 https://pastebin.com/embed_js/2x5MgY2q 這是go連線到mysql的設定 https://pastebin.com/embed_js/KrnH2DZ7 當我docker-compose up之後 我從終端機連到mysql 用root權限是可以進去的 也看到已經create好的db 不過從專案那邊要連過去的時候(我開api 再用postman去打那隻api) 專案的log會跳出 mysql connect refused 但我已經在初始化db的時候去update root可以從其他ip連線進來 UPDATE user SET Host='%' WHERE User='root' AND Host='localhost' LIMIT 1; flush privileges; CREATE DATABASE IF NOT EXISTS rockman; 請問有人可以幫幫忙嗎XD 1000p(不含稅) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.180.20 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1567850573.A.D45.html
BigTounge: 應該是config的port錯了 應該是3306 09/07 18:23
我改3306 但是在BUILD的時候 說這個port被佔用了 所以改回33060 改完之後還是拒絕連線 不過我直接把整個docker image reset之後 倒是知道我之前vendor那邊有很多問題重抓了
BigTounge: host應該可以改用hostname代替ip 09/07 18:31
BigTounge: 直接改成mysql 09/07 18:33
MOONY135: 好 我等下試試看 09/07 18:43
sextitanic: 有用 network 就不用 links 了 09/07 20:37
sextitanic: composer version 可以改用 3 09/07 20:38
justben: 那個 ... 密碼有設對嗎 09/07 20:53
ripple0129: database.host改mysql,database.port改3306 09/07 21:05
3306在BUILD的時候說被占住了
MOONY135: 密碼有對 我有用exec進去看過 可以進去 09/07 21:20
3306會跳這個 ERROR: for mysql-db Cannot start service mysql: driver failed programming external connectivity on endpoint mysql-db (9714bb03b36d0bf70b39c08995ebc4bda51716af934a476e6edc20a7d9fe43e4): Error starting userland proxy: listen tcp 0.0.0.0:3306: bind: address already in use ※ 編輯: MOONY135 (123.194.180.20 臺灣), 09/07/2019 21:50:22
ripple0129: go連接3306是mysql那台容器的3306不是你本地的3306, 09/07 22:51
ripple0129: 跟衝突沒關係,你甚至可以直接移除掉docker-compose m 09/07 22:51
ripple0129: ysql的port設定 09/07 22:51
MOONY135: 我有確定把DOCKER的images全清了 再docker-compose up 09/07 22:53
MOONY135: 不過還是會跳這個 這樣是port設定有問題嗎 09/07 22:53
googoo1102: 上面的意思是你要用mysql container的IP連 09/07 23:34
更新進度 我把我電腦裡面的MYSQL關掉之後 用POSTMAN打本地端的專案(在容器中運行)就可以動了 暫時ok了 但還有其他咬問題 可是算前進一大步了 到這邊上面有推文的一個500p 稅前 感謝大家 ※ 編輯: MOONY135 (123.194.180.20 臺灣), 09/08/2019 00:01:43
s77485p: 他都在同一個網段下面了,應該不用知道mysql server的ip 09/08 00:02
s77485p: 然後記得好像是用容器名稱當作ip位置 09/08 00:05
s77485p: ker-compose.html 可以參考看看 09/08 00:05
s77485p: 啊抱歉忘記縮網址 09/08 00:05
BigTounge: 是go的config改 不是docker-compose的port 09/08 00:36
BigTounge: docker-compose裡的port是容器對應本機 09/08 00:43
BigTounge: port會衝突就是你本機3306已經有在使用 09/08 00:44
BigTounge: 所以才開不起來 09/08 00:44
BigTounge: 收到你的P幣了 謝謝 09/08 01:04
ckmonkey06: 可能是因為你本機上已經有mysql 所以3306已經被佔用了 09/09 00:50
badboy821022: docket-compose mysql 設定那邊做port mapping啊 33 09/11 11:52
badboy821022: 06:本機沒在使用的port 09/11 11:52