真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Docker中怎么部署可執(zhí)行jar包

Docker中怎么部署可執(zhí)行jar包,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計、成都網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)嶧城,十余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792

方法一、直接構(gòu)建jar包運行的鏡像

  1. 將項目打包,上傳到服務(wù)器的指定目錄

  2. 在該目錄下創(chuàng)建Dockerfile文件

vi Dockerfile
  1. Dockerfile寫入如下指令

FROM java:8
MAINTAINER demo
ADD demo-0.0.1-SNAPSHOT.jar demo.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","demo.jar"]

其中指令的含義:

  • FROM:基礎(chǔ)鏡像,FROM java:8 指的是拉取一個jdk1.8的鏡像

  • MAINTAINER:作者,MAINTAINER demo 作者是demo

  • ADD: 將打包的可執(zhí)行jar包復(fù)制到鏡像中并重命名(用 COPY 也可),ADD demo-0.0.1-SNAPSHOT.jar demo.jar將demo-0.0.1-SNAPSHOT.jar 復(fù)制到鏡像中并重命名為 demo.jar

  • EXPOSE: 聲明端口

  • ENTRYPOINT : 容器啟動之后執(zhí)行的命令,java -jar demo.jar 即啟動jar

  1. 創(chuàng)建好Dockerfile文件之后,執(zhí)行命令 構(gòu)建鏡像

docker build -t my-demo .

注意最后的 . 表示Dockerfile在當前文件目錄下。my-demo表示構(gòu)建的鏡像,構(gòu)建成功后可以使用docker images命令查看鏡像。

  1. 鏡像構(gòu)建成功之后,就可以運行容器

docker run -d --restart=always --name demo -p 8080:8080 my-demo

其中參數(shù)的含義:

  • -d :后臺運行容器,并返回容器ID

  • –restart=always :容器在停止或服務(wù)器開機之后會自動重新啟動

  • -p :指定端口映射

  • 最后的 my-demo指定鏡像

  1. 啟動容器后可以使用 docker ps命令查看啟動的容器

  2. docker logs --tail 300 -f 容器id ,可以查看服務(wù)的日志。

  3. 如果想更新jar包,只需要使用docker cp demo-0.0.1-SNAPSHOT.jar 容器ID:/demo.jar,就可以將demo-0.0.1-SNAPSHOT.jar拷貝進容器并重命名,然后 docker restart 容器ID 重啟容器。


 

方法二、基于jdk鏡像運行容器

方法一是直接構(gòu)建了一個運行jar包的鏡像,這里還有另外一種方式,基于jdk鏡像運行容器。

  1. 在服務(wù)器中拉取jdk1.8的鏡像

docker pull jdk8
  1. 創(chuàng)建目錄,并將jar包上傳到該目錄

 cd /server/ mkdir deploy/jar
  1. 運行容器:在運行容器的命令里指定包的運行

 docker run -d \
--restart=always \
-v /server/deploy/jar:/jar
-v /server/logs/demo:/mnt/logs/demo \
-p 7778:7778 \
--name demo \
jdk8 /usr/bin/java -jar \
-Duser.timezone=GMT+08 \
/jar/demo-1.0.jar

上面命令的說明:

  • -Duser.timezone :指定時區(qū)

  • jdk8 /usr/bin/java -jar :執(zhí)行jar包

  • /jar/demo-1.0.jar :指定需要執(zhí)行的jar包的位置。

以后發(fā)布,只需要把宿主機目錄里的jar包替換掉,重啟容器。

方法三:基于Maven插件部署

  1. 修改Docker配置開啟允許遠程訪問 Docker 的功能,開啟方式很簡單,修改 /usr/lib/systemd/system/docker.service 文件,加入如下內(nèi)容:

    -H tcp://0.0.0.0:2375  -H unix:///var/run/docker.sock

    配置完成后,保存退出,然后重啟 Docker:

    systemctl daemon-reload    
    service docker restart

  2. 在SpringBoot項目的目錄下新建Dockerfile文件

FROM java:8
VOLUME /tmp
ADD target/docker-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
  1. 配置Maven插件:在pom.xml文件中添加如下插件:

    com.spotifydocker-maven-plugin1.2.0build-imagepackagebuildhttp://192.168.66.131:2375javaboy/${
         
         
         project.artifactId}${
         
         
         project.version}true${
         
         
         project.basedir}/${
         
         
         project.build.directory}${
         
         
         project.build.finalName}.jar

這個插件的配置說明:

  • 首先在 execution 節(jié)點中配置當執(zhí)行 mvn package 的時候,順便也執(zhí)行一下 docker:build

  • 然后在 configuration 中分別配置 Docker 的主機地址,鏡像的名稱,鏡像的 tags,其中 dockerDirectory 表示指定 Dockerfile 的位置。

  • 最后 resource 節(jié)點中再配置一下 jar 的位置和名稱即可。

  1. 執(zhí)行命令

mvn clean package docker:build

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。


當前標題:Docker中怎么部署可執(zhí)行jar包
標題來源:http://weahome.cn/article/pcphcs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部