這篇文章主要介紹了docker-compose鏡像怎么發(fā)布springboot項目的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇docker-compose鏡像怎么發(fā)布springboot項目文章都會有所收獲,下面我們一起來看看吧。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),博愛企業(yè)網(wǎng)站建設(shè),博愛品牌網(wǎng)站建設(shè),網(wǎng)站定制,博愛網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,博愛網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
Docker-Compose項目是Docker官方的開源項目,負(fù)責(zé)實現(xiàn)對Docker容器集群的快速編排。Compose允許用戶通過一個單獨(dú)的docker-compose.yml模板文件(YAML 格式)來定義一組相關(guān)聯(lián)的應(yīng)用容器為一個項目(project)。Docker-Compose項目由Python編寫,調(diào)用Docker服務(wù)提供的API來對容器進(jìn)行管理。因此,只要所操作的平臺支持Docker API,就可以在其上利用Compose來進(jìn)行編排管理。
Docker-Compose將所管理的容器分為三層,分別是工程(project),服務(wù)(service)以及容器(container)。Docker-Compose運(yùn)行目錄下的所有文件(docker-compose.yml,extends文件或環(huán)境變量文件等)組成一個工程,若無特殊指定工程名即為當(dāng)前目錄名。一個工程當(dāng)中可包含多個服務(wù),每個服務(wù)中定義了容器運(yùn)行的鏡像,參數(shù),依賴。一個服務(wù)當(dāng)中可包括多個容器實例,Docker-Compose并沒有解決負(fù)載均衡的問題,因此需要借助其它工具實現(xiàn)服務(wù)發(fā)現(xiàn)及負(fù)載均衡。
Docker-Compose的工程配置文件默認(rèn)為docker-compose.yml,可通過環(huán)境變量COMPOSE_FILE或-f參數(shù)自定義配置文件,其定義了多個有依賴關(guān)系的服務(wù)及每個服務(wù)運(yùn)行的容器。
使用一個Dockerfile模板文件,可以讓用戶很方便的定義一個單獨(dú)的應(yīng)用容器。在工作中,經(jīng)常會碰到需要多個容器相互配合來完成某項任務(wù)的情況。例如要實現(xiàn)一個Web項目,除了Web服務(wù)容器本身,往往還需要再加上后端的數(shù)據(jù)庫服務(wù)容器,甚至還包括負(fù)載均衡容器等。
常用命令
docker-compose
Compose的作用是“定義和運(yùn)行多個Docker容器的應(yīng)用”。使用Compose,你可以在一個配置文件(yaml格式)中配置你應(yīng)用的服務(wù),然后使用一個命令,即可創(chuàng)建并啟動配置中引用的所有服務(wù)。
Compose中兩個重要概念:
? 服務(wù) (service):一個應(yīng)用的容器,實際上可以包括若干運(yùn)行相同鏡像的容器實例。
? 項目 (project):由一組關(guān)聯(lián)的應(yīng)用容器組成的一個完整業(yè)務(wù)單元,在 docker-compose.yml文件中定義。
通過GitHub鏈接下載安裝 非ROOT用戶記得加sudo
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
給二進(jìn)制下載文件可執(zhí)行的權(quán)限
sudo chmod +x /usr/local/bin/docker-compose
驗證是否安裝
docker-compose --version
卸載
如果是二進(jìn)制包方式安裝的,刪除二進(jìn)制文件即可
rm /usr/local/bin/docker-compose
compose docker-compose.yml eureka Dockerfile eureka-server-2.0.2.RELEASE.jar user Dockerfile user-2.0.2.RELEASE.jar power Dockerfile power-2.0.2.RELEASE.jar
Compose的使用非常簡單,只需要編寫一個docker-compose.yml,然后使用docker-compose 命令操作即可。docker-compose.yml描述了容器的配置,而docker-compose 命令描述了對容器的操作。
1.我們使用一個微服務(wù)項目先來做一個簡單的例子,首先創(chuàng)建一個compose的工作目錄,然后創(chuàng)建一個jenkinsTest文件夾,里面放可執(zhí)行jar包和編寫一個Dockerfile文件,目錄結(jié)構(gòu)如下:
jenkins里面存放自己測試上傳的jar包
docker-compose.yml
version: '3.1' #這里要指定docker-compose對應(yīng)的docker版本 services: jenkinstest: #指定服務(wù)名 #image: jenkinstest #指定鏡像名稱 小寫不然會報錯 build: ./jenkinsTest #指定Dockfile所在路徑 ports: - 8099:8099 #指定端口映射 expose: - 8099 #對外暴露的服務(wù)端口
Dockerfile文件
FROM adoptopenjdk/openjdk8:jdk8u-centos-nightly #作者 MAINTAINER lkz # 鏡像要暴露的端口,如要使用端口,在執(zhí)行docker run命令時使用-p生效 EXPOSE 8099 COPY jenkinsTest.jar 11.jar # 在鏡像運(yùn)行為容器后執(zhí)行的命令 ENTRYPOINT ["java","-jar","11.jar"]
docker-compose up -d
配置同上
修改docker-compose.yml文件
version: '3.3' services: eureka: image: eureka:v1 #指定鏡像名稱 build: ./eureka #指定Dockfile所在路徑 ports: - 8080:8080 user: image: user:v1 build: ./user #指定Dockfile所在路徑 ports: - 8081:8081 power: image: power:v1 build: ./power #指定Dockfile所在路徑 ports: - 8082:8082
關(guān)于“docker-compose鏡像怎么發(fā)布springboot項目”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“docker-compose鏡像怎么發(fā)布springboot項目”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。