樹莓派4B(Raspberry Pi 4B)使用docker搭建springBoot/springCloud服務
前提:本文基于Ubuntu,Java8,SpringBoot 2.6.13講解
準備工作
準備SpringBoot/SpringCloud項目jar包
用 maven
打包springBoot/springCloud項目,先在本地跑一跑,是否可以正常運行,特別注意哈!如果項目訪問數(shù)據(jù)庫,redis等運行在docker容器的服務,那么你的IP不能配置成樹莓派IP,必須是docker network 內(nèi)分配的IP,用命令docker network inspcet NETWORK_NAME
查看。所以你的項目需要準備3個yaml文件:application.yaml,application-dev.yaml,application-test.yaml;本地配置放dev里,docker的配置放test里,項目在本地能夠跑通再把application.yaml里的spring.profiles.active
配置改成test。本地跑不通請檢查自己的項目。
java -jar demo.jar # 把demo.jar包換成你的jar包名
下載jdk-8u391-linux-aarch64.tar.gz
到oracle(Java Downloads | Oracle 中國)下載
Tips:如果你所處的國內(nèi)互聯(lián)網(wǎng)無法訪問到以上網(wǎng)址,如不嫌棄請使用我分享的百度云盤下載jdk.tar.gz(鏈接:https://pan.baidu.com/s/1n4WjOslFL-JBG2tq-7Fd1g?pwd=a3i2
提取碼:a3i2)
編寫dockerfile
-
將上述的
demo.jar(換成你自己的jar包)
,jdk-8u391-linux-aarch64.tar.gz
上傳到樹莓派 -
通過SSH登錄樹莓派后,切換到
root
用戶(命令:su root
) -
在
root
目錄下新建一個文件夾mkdir /root/spring_dockerfile
,將已上傳的文件mv
到??spring_dockerfile
中 -
創(chuàng)建dockerfile??并給文件授權(quán) :
mkdir dockerfile && chmod +x dockerfile
-
打開dockerfile??文件(
vim dockerfile
),將下述代碼寫入(需要修改的地方,我已經(jīng)標注出)FROM ubuntu WORKDIR /usr/local USER root RUN apt-get update RUN apt-get install -y net-tools RUN apt-get install -y iputils-ping # 創(chuàng)建兩個文件夾,用于放JRK和springboot的應用 RUN mkdir /usr/local/java /usr/local/spring_application # JAVA 環(huán)境變量配置 ENV JAVA_HOME /usr/local/java/jdk1.8.0_391 ENV JRE_HOME ${JAVA_HOME}/jre ENV CLASSPATH .:${JAVA_HOME}/lib/tools.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib:${JRE_HOME}/lib ENV PATH ${JAVA_HOME}/bin:${PATH} # 添加JDK ADD ./jdk-8u391-linux-aarch64.tar.gz /usr/local/java # 將jar包拷入到對應目錄下(根據(jù)自己的配置做修改) COPY ./demo.jar /usr/local/spring_application # 對外暴露端口(根據(jù)自己的配置做修改) EXPOSE 8008 # 運行(根據(jù)自己的配置做修改) CMD ["-jar","/usr/local/spring_application/demo.jar"] ENTRYPOINT ["java"]
構(gòu)建 并 生成容器
-
拉取Ubuntu
docker pull ubuntu docker images | grep ubuntu # 檢查Ubuntu是否已經(jīng)被拉入本地(這條命令可忽略不執(zhí)行)
-
構(gòu)建鏡像
進入到
spring_dockerfile
目錄下,?? 構(gòu)建不會立刻完成,請耐心等待# 注意我的注釋,改成你的配置。此外:命令結(jié)尾有個點,不然構(gòu)建失敗,我給鏡像取名spring-demo:1.0,你也可以自定義名稱,不過一定要遵循<name>:<tag>的命名規(guī)則 docker build -f dockerfile -t spring-demo:1.0 . docker images | grep spring-demo # 檢查spring-demo是否已經(jīng)被構(gòu)建完畢且在本地(這條命令可忽略不執(zhí)行)
-
生成容器文章來源:http://www.zghlxwxcb.cn/news/detail-837071.html
docker run -itd --name=spring-demo -p 8008:8008 spring-demo:1.0 docker ps | grep spring-demo# 檢查容器是否生成且處于運行狀態(tài)(這條命令可忽略不執(zhí)行)
-
到此,springboot/springcloud應用就已經(jīng)跑在docker上了,用瀏覽器訪問
http://樹莓派IP:端口
就可以成功訪問到spring應用了,如果一次請求無法訪問,就多試幾次,因為spring應用運行起來需要點時間文章來源地址http://www.zghlxwxcb.cn/news/detail-837071.html
到了這里,關(guān)于樹莓派4B(Raspberry Pi 4B)使用docker搭建springBoot/springCloud服務的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!