日常你所啟動的微服務比如這樣的
java -jar eureka-0.0.1-SNAPSHOT.jar --server.port=41578 --spring.profiles.active=local
然后想把它給整Docker里玩玩
首先要在打包好的Spring Boot同級目錄下,建立一個Dockerfile
然后在這個文件下寫上以下內容,大致的意思上從服務器下載個alpine的帶jdk的docker,然后把你的jar打進去
FROM frolvlad/alpine-oraclejdk8
VOLUME /usr/cloud
ADD eureka-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 41578
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--server.port=41578","--spring.profiles.active=local"]
然后從命令行進入到同級目錄,輸入以下命令
docker build -t scmeureka/scmeureka .
這嘎達注意里哈,后面那個點兒不上打錯的,上特意打上去的,然后執行完效果是醬樣事兒的
之后,就是這個玩意就打好了,你可以docker ps 進去瞅瞅
然后啟動的時候,可以打以下命令
docker run -p 41578:41578 scmeureka/scmeureka
然后這玩意就起來了
然后,咱們就得想,這玩意得怎么整云上啊?不上微服務嘛,那得服務起來啊。
那這個docker,要么放hub.docker.com上,要么自己搭建個harbor,要么網上有免費的,比如網易,阿里云,這里我打算整阿里云上。
阿里云頂上有個叫容器鏡像服務,進阿里云后,一搜就搜著,暫時免費不要錢。
進去之后吧點開通后上這樣事兒地
這時候,你就可以新建一個倉庫了,現在不要錢,哈哈
進去就有說明書,告訴你怎么把本地的鏡像,往他們服務器上整,標紅的地方老坑了,估計產品經理就是懶,這特奶奶的上哪找去啊,密碼早忘了,你提示完給給連接不就完了,哎,浪費了我半個多小時,吐槽下哈。告訴你們在哪
這個得退上個頁面才行,就在左側菜單
然后下一步,就得考慮了,這玩意部署哪?怎么部署???
既然是鏡像,無非也就K8S Swarm Rancher,今天我用Rancher給大家演示下哈
先到Rancher的鏡像庫添加下,包括輸入下用戶名,密碼。
然后建立下容器
這個地方注意了,我這宿主機里把那臺云主機的私有IP綁定了給域名,目的是以后有新的其他Spring Boot服務器彈性伸縮啟動的時候,能直接定位到內網eureka的地址,因為聽說SDN的網絡出了名的卡,連接服務(--link --name)的方式官方也不推薦使用,甚至可能會下線,所以才出此下策,讓他們服務之間至少有個溝通方式,然后啟動容器,可以進到容器里面,ping一下自己綁定的域名,看看是不是私有IP