docker容器化springboot項(xiàng)目

項(xiàng)目背景:springboot + dubbo項(xiàng)目

Linux: CentOS 和 Ubuntu通用(已測(cè)試)

1、配置項(xiàng)目需要的基礎(chǔ)鏡像:jdk、zookeeper、redis

docker pull openjdk:8-jre

docker pull zookeeper

docker pull redis

2、編寫(xiě)Dockerfile文件,注意copy后的路徑問(wèn)題

FROM openjdk:8-jre #運(yùn)行環(huán)境
MAINTAINER xxx xxx@imooc.com #包名 com.imooc.xxx.xxx

COPY user-service.jar /user-service.jar # user-service.jar #springboot項(xiàng)目打包好的jar包名
ENTRYPOINT ["java","-jar","/user-service.jar"]

注意copy的路徑是jar相對(duì)Dockerfile的;路徑,保證Dockerfile能通過(guò)該路徑找到j(luò)ar,我這里是放在同一目錄下,所以直接寫(xiě)jar名

完成將jar和Dockerfile傳輸?shù)絃inux里(dubbo項(xiàng)目注意先修改提供者和消費(fèi)者的ip路徑)

3、在Dockerfile所在的目錄下執(zhí)行build命令

docker build -t user-service:lastest .

(.表示用當(dāng)前路徑下的Dockerfile,前面必須有一個(gè)空格)

Build成功后可以通過(guò) docker images查看已有鏡像及其id

4、Run

冒號(hào)前面是REPOSITORY,冒號(hào)后面可以是TAG,也可以是IMAGE ID

docker run -p 6379:6379 redis:latest

Docker run -p 2181:2181 zookeeper:latest

docker run -p 7911:7911 user-service:latest

docker run -p 8082:8082 user-client:latest

-p表示指定運(yùn)行端口,第一個(gè)端口表示對(duì)外暴露的端口,第二個(gè)端口表示當(dāng)前虛機(jī)運(yùn)行的端口,外部訪問(wèn)時(shí)訪問(wèn)第一個(gè)端口

其他常用的docker命令:

常看正在運(yùn)行的容器:docker ps

停止運(yùn)行容器:docker stop + CONTAINER ID

刪除鏡像:docker rmi + IMAGE ID

刪除鏡像時(shí)如遇到該鏡像正被已停止運(yùn)行的容器使用,則使用docker rm + CONTAINER ID

先刪除容器(鏡像在容器中運(yùn)行時(shí)需要先停止運(yùn)行)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容