spring cloud各个微服务打包到docker容器内
日常你所啟動(dòng)的微服務(wù)比如這樣的
java -jar eureka-0.0.1-SNAPSHOT.jar --server.port=41578 --spring.profiles.active=local然后想把它給整Docker里玩玩
首先要在打包好的Spring Boot同級(jí)目錄下,建立一個(gè)Dockerfile
然后在這個(gè)文件下寫(xiě)上以下內(nèi)容,大致的意思上從服務(wù)器下載個(gè)alpine的帶jdk的docker,然后把你的jar打進(jìn)去
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"]然后從命令行進(jìn)入到同級(jí)目錄,輸入以下命令
docker build -t scmeureka/scmeureka .這嘎達(dá)注意里哈,后面那個(gè)點(diǎn)兒不上打錯(cuò)的,上特意打上去的,然后執(zhí)行完效果是醬樣事兒的
之后,就是這個(gè)玩意就打好了,你可以docker ps 進(jìn)去瞅瞅
然后啟動(dòng)的時(shí)候,可以打以下命令
docker run -p 41578:41578 scmeureka/scmeureka然后這玩意就起來(lái)了
然后,咱們就得想,這玩意得怎么整云上啊?不上微服務(wù)嘛,那得服務(wù)起來(lái)啊。
那這個(gè)docker,要么放hub.docker.com上,要么自己搭建個(gè)harbor,要么網(wǎng)上有免費(fèi)的,比如網(wǎng)易,阿里云,這里我打算整阿里云上。
阿里云頂上有個(gè)叫容器鏡像服務(wù),進(jìn)阿里云后,一搜就搜著,暫時(shí)免費(fèi)不要錢(qián)。
進(jìn)去之后吧點(diǎn)開(kāi)通后上這樣事兒地
這時(shí)候,你就可以新建一個(gè)倉(cāng)庫(kù)了,現(xiàn)在不要錢(qián),哈哈
進(jìn)去就有說(shuō)明書(shū),告訴你怎么把本地的鏡像,往他們服務(wù)器上整,標(biāo)紅的地方老坑了,估計(jì)產(chǎn)品經(jīng)理就是懶,這特奶奶的上哪找去啊,密碼早忘了,你提示完給給連接不就完了,哎,浪費(fèi)了我半個(gè)多小時(shí),吐槽下哈。告訴你們?cè)谀?/p>
這個(gè)得退上個(gè)頁(yè)面才行,就在左側(cè)菜單
然后下一步,就得考慮了,這玩意部署哪?怎么部署???
既然是鏡像,無(wú)非也就K8S Swarm Rancher,今天我用Rancher給大家演示下哈
先到Rancher的鏡像庫(kù)添加下,包括輸入下用戶(hù)名,密碼。
然后建立下容器
這個(gè)地方注意了,我這宿主機(jī)里把那臺(tái)云主機(jī)的私有IP綁定了給域名,目的是以后有新的其他Spring Boot服務(wù)器彈性伸縮啟動(dòng)的時(shí)候,能直接定位到內(nèi)網(wǎng)eureka的地址,因?yàn)槁?tīng)說(shuō)SDN的網(wǎng)絡(luò)出了名的卡,連接服務(wù)(--link --name)的方式官方也不推薦使用,甚至可能會(huì)下線(xiàn),所以才出此下策,讓他們服務(wù)之間至少有個(gè)溝通方式,然后啟動(dòng)容器,可以進(jìn)到容器里面,ping一下自己綁定的域名,看看是不是私有IP
總結(jié)
以上是生活随笔為你收集整理的spring cloud各个微服务打包到docker容器内的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: spring eureka集群+spri
- 下一篇: group count聚集函数无法直接统