docker+ssh+webservice

來源:互聯網
上載者:User

docker+ssh+webservice

在項目中需要動彈發布webservice,程式是部署在docker中的tomcat裡的,這個時候需要在系統啟動時發布webservice,webservice綁定的IP地址仍然是宿主主機的IP地址,發現系統啟動時webserivce總是發布不成功,總是報類似於這個異常:Could not start Jetty server on port 9,000: Cannot assign requested address。百思不得其解,思維方向也走偏了,總以為是哪裡設定不對,導致docker容器已經提前佔好要要發布的連接埠(因為在Dockerfile檔案中已經EXPOSE這個連接埠了),結果陸陸續續折騰了幾天,先後把docker這裡相關的知識試了個遍,結果還是毫無進展,到網上也找不到答案。

直到昨晚臨睡前,腦子中想了下docker的原理和結構圖,忽然間想到docker的本質原理就是“映射”,docker容器的IP地址和連接埠和宿主主機也是一一映射的,而程式是部署的tocmat運行在docker容器中,所以其中如果運行程式當然不能是宿主主機的地址了,而應該站在容器的角度去考慮,是容器主機的地址,把具體翻譯和映射的工作交給docker。而不是直接綁定宿主主機的IP,那麼綁定什麼地址呢?我想到了tomcat中的應用本身是正常的,tomcat可以正常訪問,那我就直接模仿tomcat就行了,於是使用docker port命令查了下tomcat,得到的結果是綁定在”0.0.0.0“這個IP上,而這個IP的意思是本機(本容器)的所有IP,關於”0,0.0.0"的知識讀者可以自己查更多的其他資料。於是趕緊試了下,果然成功了!

問題解決了,有點小高興,但是也看出自己處理問題過程中的方法和思路問題很大。在遇到問題時,沒有冷靜一個點一個點去分析,而是東拉西扯亂打一氣,浪費了很多時間,對不起給我付薪水的東家啊!其實處理問題時,我也預感到這個一定是個低級問題,果然如此。以後必須這樣嚴格要求自己了,如果遇到這種問題,一定要冷靜分析。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.