作者kevin76630 ()
看板Soft_Job
標題Re: [請益] docker容器連線不上問題PartII(懸賞1000p)
時間Sun Sep 8 16:26:48 2019
原文恕刪 ripple大講的基本對
下面補充一下depends_on 的議題
1F:→ MOONY135: 目前看logs我覺得應該是有相依的問題 mysql跟我的seed09/08 13:30
2F:→ MOONY135: db 同時被啟動 應該是要等mysql完全動起來之後再去做see09/08 13:30
3F:→ MOONY135: d的事情 目前還在找怎樣等待mysql被啟起來09/08 13:31
4F:→ MOONY135: cobra我在本機上而不是DOCKER上運行的時候沒問題09/08 13:35
在entrypoint.sh內測試連線mysql
有成功連線才下指令就可以了
不過邏輯建議轉用python寫
當然最偷懶的方式就是
Sleep 60啦
※ 編輯: ripple0129 (1.171.204.151 臺灣), 09/08/2019 13:38:00
※ 編輯: ripple0129 (1.171.204.151 臺灣), 09/08/2019 13:38:55
5F:→ MOONY135: 很想sleep 不過現在不急 想說多研究一點正規方式lol 09/08 13:40
docker的depends_on只管 container"被建立"的先後順序
建起來就當作完成 他沒有在管entrypoint有沒有被執行完畢
也就是說在版主的例子中 rx0起來的時候mysql其實還在執行他的entrypoint
所以你會連不到資料庫
其實也滿合理的 因為docker只處理平台 他不去管你的業務邏輯
所以要在rx0的entrypoint等mysql的服務起來 用shell就可以了
until mysql -e '\q'
do
sleep 1
done
exec $@
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.50.132.3 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1567931210.A.42F.html
6F:→ MOONY135: 有被m的再多500p(稅前)感謝分享 09/08 16:43
7F:→ MOONY135: 等我回家再給 09/08 16:43
8F:推 ssivart: 推 09/24 02:04