這篇文章給大家分享的是有關(guān)docker如何部署spring cloud項(xiàng)目的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比大柴旦網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式大柴旦網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋大柴旦地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。
一、docker簡(jiǎn)介
Docker是一個(gè)開源的引擎,可以輕松的為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的、可移植的、自給自足的容器。開發(fā)者在筆記本上
編譯測(cè)試通過(guò)的容器可以批量地在生產(chǎn)環(huán)境中部署,包括VMs(虛擬機(jī))、bare metal、OpenStack 集群和其他的基礎(chǔ)
應(yīng)用平臺(tái)。
Docker通常用于如下場(chǎng)景:
web應(yīng)用的自動(dòng)化打包和發(fā)布;
自動(dòng)化測(cè)試和持續(xù)集成、發(fā)布;
在服務(wù)型環(huán)境中部署和調(diào)整數(shù)據(jù)庫(kù)或其他的后臺(tái)應(yīng)用;
從頭編譯或者擴(kuò)展現(xiàn)有的OpenShift或Cloud Foundry平臺(tái)來(lái)搭建自己的PaaS環(huán)境。
Docker 的優(yōu)點(diǎn)
1、簡(jiǎn)化程序:
Docker 讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,便可以
實(shí)現(xiàn)虛擬化。Docker改變了虛擬化的方式,使開發(fā)者可以直接將自己的成果放入Docker中進(jìn)行管理。方便快捷已經(jīng)是
Docker的最大優(yōu)勢(shì),過(guò)去需要用數(shù)天乃至數(shù)周的 任務(wù),了解springcloud架構(gòu)可以加求求:三五三六二四七二五九,在
Docker容器的處理下,只需要數(shù)秒就能完成。
2、避免選擇恐懼癥:
如果你有選擇恐懼癥,還是資深患者。Docker 幫你 打包你的糾結(jié)!比如 Docker 鏡像;Docker 鏡像中包含了運(yùn)行環(huán)境和
配置,所以 Docker 可以簡(jiǎn)化部署多種應(yīng)用實(shí)例工作。比如 Web 應(yīng)用、后臺(tái)應(yīng)用、數(shù)據(jù)庫(kù)應(yīng)用、大數(shù)據(jù)應(yīng)用比如 Hadoop
集群、消息隊(duì)列等等都可以打包成一個(gè)鏡像部署。
3、節(jié)省開支:
一方面,云計(jì)算時(shí)代到來(lái),使開發(fā)者不必為了追求效果而配置高額的硬件,Docker 改變了高性能必然高價(jià)格的思維定勢(shì)。
Docker 與云的結(jié)合,讓云空間得到更充分的利用。不僅解決了硬件管理的問(wèn)題,也改變了虛擬化的方式。
上面文字參考了相關(guān)文章;另,關(guān)于docker 的安裝和基本的使用見相關(guān)教程。
二、準(zhǔn)備工作
環(huán)境條件:
linux系統(tǒng),不建議windows
docker最新版本
jdk 1.8
maven3.0
本文采用的工程來(lái)自第一篇文章的工程,采用maven的方式去構(gòu)建項(xiàng)目,并采用docker-maven-plugin去構(gòu)建docker鏡像。
三、改造工程、構(gòu)建鏡像
改造eureka-server工程
在pom文件加上插件:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- tag::plugin[] --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.3</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> <!-- end::plugin[] --> </plugins> </build>
Spotify 的 docker-maven-plugin 插件是用maven插件方式構(gòu)建docker鏡像的。
imageName指定了鏡像的名字,本例為 forep/eureka-server
dockerDirectory指定 Dockerfile 的位置
resources是指那些需要和 Dockerfile 放在一起,在構(gòu)建鏡像時(shí)使用的文件,一般應(yīng)用 jar 包需要納入。
修改下配置文件:
server: port: 8761 eureka: instance: prefer-ip-address: true client: registerWithEureka: false fetchRegistry: false<br>
編寫dockerfile文件:
FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD eureka-server-0.0.1-SNAPSHOT.jar app.jar #RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] EXPOSE 8761
docker file編寫指令:
FROM
docker file編寫指令: FROM
FROM指令必須指定且需要在Dockerfile其他指令的前面,指定的基礎(chǔ)image可以是官方遠(yuǎn)程倉(cāng)庫(kù)中的,也可以位于
本地倉(cāng)庫(kù)。后續(xù)的指令都依賴于該指令指定的image。當(dāng)在同一個(gè)Dockerfile中建立多個(gè)鏡像時(shí),可以使用多個(gè)FROM
指令。
VOLUME
格式為:
VOLUME ["/data"]
使容器中的一個(gè)目錄具有持久化存儲(chǔ)數(shù)據(jù)的功能,該目錄可以被容器本身使用,也可以共享給其他容器。當(dāng)容器中的應(yīng)用有
持久化數(shù)據(jù)的需求時(shí)可以在Dockerfile中使用該指令。
ADD
從src目錄復(fù)制文件到容器的dest。其中src可以是Dockerfile所在目錄的相對(duì)路徑,也可以是一個(gè)URL,還可以是一個(gè)壓縮包
ENTRYPOINT
指定Docker容器啟動(dòng)時(shí)執(zhí)行的命令,可以多次設(shè)置,但是只有最后一個(gè)有效。
EXPOSE
為Docker容器設(shè)置對(duì)外的端口號(hào)。在啟動(dòng)時(shí),可以使用-p選項(xiàng)或者-P選項(xiàng)。
構(gòu)建鏡像
執(zhí)行構(gòu)建docker鏡像maven命令:
mvn clean mvn package docker:build
eureka: client: serviceUrl: defaultZone: http://eureka-server:8761/eureka/ # 這個(gè)需要改為eureka-server server: port: 8763 spring: application: name: service-hi
感謝各位的閱讀!關(guān)于“docker如何部署spring cloud項(xiàng)目”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
新聞名稱:docker如何部署springcloud項(xiàng)目
轉(zhuǎn)載源于:http://aaarwkj.com/article8/gppdop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、外貿(mào)建站、網(wǎng)站營(yíng)銷、移動(dòng)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)