摘要:為什么使用是一個(gè)虛擬化的容器,將交由給指定容器可以達(dá)到啟動(dòng)的物理服務(wù)器只需要安裝就可以部署服務(wù)。切記用戶(hù)在中執(zhí)行命令,不能通過(guò)執(zhí)行。第三行在鏡像開(kāi)始運(yùn)行時(shí)執(zhí)行的命令,這個(gè)命令是啟動(dòng)。
為什么使用docker?
Docker是一個(gè)虛擬化的容器,將app交由給指定docker容器可以達(dá)到:
1.啟動(dòng)app的物理服務(wù)器只需要安裝docker-engine就可以部署服務(wù)。
2.如果app是集群可以做到app依賴(lài)的os,java_version全部一致。
3.Docker容器可以到處賦值運(yùn)行,能很快模擬現(xiàn)實(shí)環(huán)境。
基礎(chǔ)概念首先,需要安裝docker:https://docs.docker.com/
然后,通過(guò)docker version 命令確保安裝成功。切記windows用戶(hù)在powershell中執(zhí)行docker命令,不能通過(guò)cmd執(zhí)行。
我們要知道docker和maven一樣擁有自己的倉(cāng)庫(kù),只不過(guò)docker的倉(cāng)庫(kù)存儲(chǔ)的是官方鏡像,maven存儲(chǔ)的是jar。
每個(gè)鏡像都擁有自己的特性,比如有的鏡像安裝了tomcat,有的鏡像安裝了java。但是只有鏡像還不夠,我們需要在鏡像中加入自己的app,app的形態(tài)可以是jar,也可以是war。
鏡像制作需要用的docker build 命令:
1.創(chuàng)建一個(gè)文件夾:Dockerfile文件是用于制作鏡像使用的文件,seckill.jar是需要拷貝到鏡像中的app。
dockerfile:
第一行:表明該鏡像源于 hub.c.163.com/library/java:openjdk-8-jre-alpine ,而這個(gè)基礎(chǔ)鏡像包含java的運(yùn)行環(huán)境。也就是為我的app提供java環(huán)境。
第二行:將當(dāng)前目錄下的seckill-0.0.1-SNAPSHOT.jar復(fù)制到鏡像中/opt/webapps/seckill/seckill.jar。
第三行:在鏡像開(kāi)始運(yùn)行時(shí)執(zhí)行的命令,這個(gè)命令是啟動(dòng)app。
執(zhí)行以下命令完成制作:
制作鏡像 - war文件:與jar類(lèi)似,只需要修改dockerfile即可:
運(yùn)行制作好的鏡像 Docker-compose啟動(dòng)一組鏡像我們擁有的是一組微服務(wù),每次單個(gè)啟動(dòng)鏡像很麻煩,所以就需要用到docker-compose。
首先,我們要擁有已經(jīng)制作完成的鏡像
然后,編寫(xiě)docker-compose.yml文件(注意yml的格式),這個(gè)文件里包含了會(huì)啟動(dòng)那些鏡像
然后進(jìn)入到docker-compose.yml文件所在的文件夾,執(zhí)行docker-compose up 命令
docker-compose.yml文件內(nèi)容:
啟動(dòng):
記住,要執(zhí)行docker-compose相關(guān)的命令需要進(jìn)入docker-compose.yml文件所在的文件夾。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/27288.html
摘要:簡(jiǎn)介在容器的基礎(chǔ)上,進(jìn)行了進(jìn)一步的封裝,從文件系統(tǒng)網(wǎng)絡(luò)互聯(lián)到進(jìn)程隔離等等,極大的簡(jiǎn)化了容器的創(chuàng)建和維護(hù)。一種服務(wù)器,它是一種稱(chēng)為守護(hù)進(jìn)程并且長(zhǎng)時(shí)間運(yùn)行的程序。容器就是通過(guò)命令對(duì)項(xiàng)目中的一組容器的生命周期進(jìn)行便捷的管理。 簡(jiǎn)介 Docker 在容器的基礎(chǔ)上,進(jìn)行了進(jìn)一步的封裝,從文件系統(tǒng)、網(wǎng)絡(luò)互聯(lián)到進(jìn)程隔離等等,極大的簡(jiǎn)化了容器的創(chuàng)建和維護(hù)。使得 Docker 技術(shù)比虛擬機(jī)技術(shù)更為輕便、...
摘要:在上運(yùn)行使用系統(tǒng)要求開(kāi)啟虛擬化的硬件支持可以通過(guò)命令來(lái)檢查或者更高版本至少內(nèi)存安裝最新點(diǎn)擊下載安裝下載的文件安裝完成后,啟動(dòng)使用鏡像加速地址使用自帶的使用的系統(tǒng)要求運(yùn)行或者以上版本支持硬件虛擬化技術(shù)并且已啟用虛擬化安裝點(diǎn)擊下載運(yùn)行在上運(yùn)行使 在Mac上運(yùn)行Docker 使用Docker for Mac 系統(tǒng)要求 開(kāi)啟虛擬化的硬件支持,可以通過(guò)命令來(lái)檢查:sysctl kern.hv_...
摘要:后來(lái)真正用的時(shí)候才發(fā)覺(jué),這個(gè)簡(jiǎn)直是個(gè)神器。容器可以被創(chuàng)建啟動(dòng)停止刪除暫停等。項(xiàng)目由編寫(xiě),實(shí)現(xiàn)上調(diào)用了服務(wù)提供的來(lái)對(duì)容器進(jìn)行管理。此命令將會(huì)停止命令所啟動(dòng)的容器,并移除網(wǎng)絡(luò)啟動(dòng)已經(jīng)存在的服務(wù)容器。停止已經(jīng)處于運(yùn)行狀態(tài)的容器,但不刪除它。 showImg(https://segmentfault.com/img/remote/1460000017531120?w=1200&h=500); ...
摘要:后來(lái)真正用的時(shí)候才發(fā)覺(jué),這個(gè)簡(jiǎn)直是個(gè)神器。容器可以被創(chuàng)建啟動(dòng)停止刪除暫停等。項(xiàng)目由編寫(xiě),實(shí)現(xiàn)上調(diào)用了服務(wù)提供的來(lái)對(duì)容器進(jìn)行管理。此命令將會(huì)停止命令所啟動(dòng)的容器,并移除網(wǎng)絡(luò)啟動(dòng)已經(jīng)存在的服務(wù)容器。停止已經(jīng)處于運(yùn)行狀態(tài)的容器,但不刪除它。 showImg(https://segmentfault.com/img/remote/1460000017531120?w=1200&h=500); ...
摘要:開(kāi)發(fā)者在筆記本上編譯測(cè)試通過(guò)的容器可以批量地在生產(chǎn)環(huán)境中部署,包括虛擬機(jī)集群和其他的基礎(chǔ)應(yīng)用平臺(tái)。容器進(jìn)入容器名暴露端口暴露端口使用調(diào)試環(huán)境中安裝了調(diào)試,需對(duì)進(jìn)行配置后啟用,配置如下配置完成后需要重啟下容器。 showImg(https://segmentfault.com/img/bVbgmdS?w=567&h=272); Docker是一個(gè)開(kāi)源的引擎,可以輕松的為任何應(yīng)用創(chuàng)建一個(gè)輕...
閱讀 3527·2023-04-25 17:35
閱讀 2605·2021-11-24 09:39
閱讀 2540·2021-10-18 13:32
閱讀 3428·2021-10-11 10:58
閱讀 1644·2021-09-26 09:55
閱讀 6183·2021-09-22 15:47
閱讀 976·2021-08-26 14:15
閱讀 3478·2019-08-30 15:55