本人使用 Windows版本的,程式直接在電腦跑還可以連線到本地與遠端資料庫,但是包裝成Image並在容器跑就無法連線了,搞了1個多禮拜才知道,我根本設錯port了, container才連不上去,更別說資料庫了...
一開始還以為是公司電腦的問題才在家裡用,不過後來也還是失敗了,害我以為真的成功了,錯誤都一樣。
要執行的話還要加上對外-p讓本機與容器連線,就像這樣↓
docker run -p 8080:8888 my_image ← -p "你的Http的端口連線有8080與80這兩個" : "你在dockerfile設置的對外連線port" ; my_image =你的image名稱,如果沒有設置就用ID。
還有重要的是dockerfile,
除了基本的FROM、RUN、COPY與CMD之外,還要加上EXPOSE ;
EXPOSE是設置對外的port,沒有設置的話,直接跑docker run會無法連線的。
目前可以進行遠端資料庫的連線了,但是本地設置的資料庫就沒辦法了,我推測可能也是port設置的問題,但至少已經知道該如何連遠端資料庫了。
我再找時間寫更詳細一點好了。