spring cloud-之使用docker部署服務

bluepeach發表於2021-09-09

上一篇我們講到了,由於要把原來的專案拆分成多個專案,同時跑起來機器肯定好吭哧吭哧的,所以我們採用docker的方式進行部署到另外的一臺機器上面,而且現在正式的部署大多數也是採用docker的方式進行部署的。使用docker可以快速的進行部署,而且達到資源利用的最大化。下面就來介紹一下使用docker來部署服務節點eureka

一、先決條件,安裝docker:

  • 環境:centos6.8 x64

1、因為系統自帶的repo中不帶docker需要安裝epel
rpm -Uvh 、安裝docker
yum install -y docker-io3、啟動docker
service docker start

ps:網上前幾篇教程,千篇一律的都是需要升級kernel,依據我的實踐centos6.8可以不用升級kernel,按照上述步驟即可安裝成功。但願多一些實踐教程,少一些抄襲和價值極地的使用google翻譯的文件!!!

二、針對本篇需要了解的命令

docker一個系列的教程也是相當繁雜的,如果有時間後面可能會寫也可能不會,畢竟我是做開發的,平時能用它來簡化部署和一系列的安裝就可以了,這畢竟是運維的領域術業有專攻,所以這裡介紹的東西僅僅為本篇所介紹的東西服務。

  • docker build -t 映象名字 .  注意不要少了後面的一個 ".",這個是代表當前的目錄的

  • docker run -d -p 主機埠1:容器埠1 -p 主機埠2:容器埠2(可以有多個)  -v /data(主機目錄):/data(容器目錄) 映象id

docker run -d -p 2001:2001 fb528f5e7835
  • docker images 檢視docker 有哪些已經構建好的映象,我們找到映象的id,可以直接利用上面的命令進行執行

  • docker ps 檢視正在執行的容器

  • docker ps -a 檢視所有的容器

  • docker start|stop|restart 容器id

  • docker pull 映象名稱,從docker的倉庫中拉去已經建立好的映象
    差不多上面的命令就可以覆蓋到今天的內容了,如果還需要了解更多的docker命令可以檢視

三、先決知識 Dockerfile的瞭解

由於是基於Dcokerfile進行的,所以需要對Dcokerfile有一些瞭解,docker可以依據Dockerfile進行構建映象,基本上eureka是不會變動的,所以我們在後面可以反覆的利用這個映象,甚至於構建叢集的時候我們可以修改一下配置,直接啟動多個映象就可以了。

# 由於現在下載jdk的話需要使用認證,所以我們在生產環境可以使用這個,上線的時候我們可以自己來製作一個映象就好了,-alpine  這個是一個極小的linux系統(這樣可以減小docker映象的體積),後面不建議使用這個,因為這個dns好像實現的不一樣,在服務發現中可能會有問題,所以最好還是使用centos的映象為基礎來構建FROM openjdk:8-jdk-alpine 
VOLUME /tmp
ADD eureka.jar eureka.jar (前面一個是打包的jar的名字,後面一個是在容器中使用的名字,這個要和最後的-jar 後面的jar包的名字一致)
RUN sh -c 'touch /eureka.jar'ENV JAVA_OPTS=""#Djava.security.egd  這個是用來防止springboot專案tomcat啟動慢的問題(具體可搜尋:隨機數數與熵池策略)ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /eureka.jar" ]
  • FROME:指明在那個映象的基礎上來構建映象

  • VOLUME:docker因為它的高度的隔離的特性,所以如果不掛在卷的話,容器重啟資料就會丟失

  • ADD:是把本地的jar包複製到容器裡面去

  • RUN:在容器中執行構建命令

  • ENTRYPOINT:本例中代表的是執行java執行jar包的命令

四、開始構建:

  • 首先把eureka工程打包,本專案是構建jar包,當然打成war也是可以的,需要把FROM所依賴的映象改為java和tomcat共同的映象,同時還需要把war ADD到tomcat的webapps(或者指定tomcat的配置)


    圖片描述

    image.png

  • 構建映象 docker build -t eureka .


    圖片描述

    image.png


    最後的一串字串就是映象的id

  • 檢視構建好的映象id,執行


    圖片描述

    image.png

docker run -d -p 2001:2001

圖片描述

image.png


出現一個長的字串就說明我們已經執行成功了

  • 檢驗一下 http://192.168.0.200:2001


    圖片描述

    image.png

  • 檢視我們執行的映象 docker ps -a


    圖片描述

    image.png

  • 停止|啟動|重啟容器:docker stop|start|restart 9a3cc4915c9b

透過這個方法,我們可以少量的改動Dockerfile的內容,然後就可以透過docker來部署專案,其實後面會介紹可以使用docker compose技術進行批次的構建管理。



作者:fkxuexi
連結:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2558/viewspace-2820933/,如需轉載,請註明出處,否則將追究法律責任。

相關文章