一、添加maven項(xiàng):

二、Dockerfile 文件:

三、使用docker命令打包項(xiàng)目



docker常用命令

在研究docker的同時也是碰見一些坑在這里分享
問題一、微服務(wù)部署到docker鏡像內(nèi)如何連接數(shù)據(jù)庫的,微服務(wù)docker鏡像內(nèi)本地沒有安裝mysql。
研究了幾天原本以為 --link mysql:latest 是指向docker容器內(nèi)的mysql呢。(目前不知道–link真正實(shí)際的作用。 應(yīng)該是在宿機(jī)內(nèi)使用的吧(192.168.99.100)
曾經(jīng)傻傻的寫了:docker run --name base-uaa -p 9999:9999 --link mysql:latest --link base-registry -t base-uaa:latest 意思是啟動uaa項(xiàng)目并且找到mysql容器,后面的link是找到base-redgistry項(xiàng)目.
問題二、當(dāng)eureka 項(xiàng)目打包到docker后,微服務(wù)如何注冊到eureka注冊中心。
其實(shí)當(dāng)你在外部安裝docker后,比如mysql

0.0.0.0:3306其實(shí)是127.0.0.1:3306
直接當(dāng)成mysql已安裝到本地即可。用客戶端直接連即可。
但是如果我微服務(wù)要注冊到eureka上,就不能寫127.0.0.1了,因?yàn)閐ocker鏡像內(nèi)會自動映射出一個內(nèi)部的IP地址
如下圖:

172.17.0.6 Ip是鏡像內(nèi)分配的ip外部無法訪問,不能直接http://172.17.0.6:8080
但是你可以http:localhost:8080
需要寫真正的ip地址

打包到docker容器后,需要將所有的127.0.0.1或者localhost都修改成真實(shí)IP即可。