亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker中怎么部署可執行jar包

發布時間:2021-07-30 18:19:24 來源:億速云 閱讀:201 作者:Leah 欄目:云計算

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

方法一、直接構建jar包運行的鏡像

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

  2. 在該目錄下創建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:基礎鏡像,FROM java:8 指的是拉取一個jdk1.8的鏡像

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

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

  • EXPOSE: 聲明端口

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

  1. 創建好Dockerfile文件之后,執行命令 構建鏡像

docker build -t my-demo .

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

  1. 鏡像構建成功之后,就可以運行容器

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

其中參數的含義:

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

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

  • -p :指定端口映射

  • 最后的 my-demo指定鏡像

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

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

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


 

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

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

  1. 在服務器中拉取jdk1.8的鏡像

docker pull jdk8
  1. 創建目錄,并將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 :指定時區

  • jdk8 /usr/bin/java -jar :執行jar包

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

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

方法三:基于Maven插件部署

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

    -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文件中添加如下插件:

    <plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.2.0</version><executions><execution><id>build-image</id><phase>package</phase><goals><goal>build</goal></goals></execution></executions><configuration><dockerHost>http://192.168.66.131:2375</dockerHost><imageName>javaboy/${
         
         
         project.artifactId}</imageName><imageTags><imageTag>${
         
         
         project.version}</imageTag></imageTags><forceTags>true</forceTags><dockerDirectory>${
         
         
         project.basedir}</dockerDirectory><resources><resource><targetPath>/</targetPath><directory>${
         
         
         project.build.directory}</directory><include>${
         
         
         project.build.finalName}.jar</include></resource></resources></configuration></plugin>


這個插件的配置說明:

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

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

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

  1. 執行命令

mvn clean package docker:build

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平定县| 娄底市| 邵阳县| 石景山区| 杭州市| 武强县| 桓仁| 上虞市| 西乌珠穆沁旗| 延长县| 临沂市| 苗栗市| 桂平市| 富蕴县| 洪泽县| 隆回县| 宾川县| 宁河县| 沁阳市| 临颍县| 柘荣县| 胶南市| 桃江县| 淅川县| 铁力市| 襄汾县| 柯坪县| 蒲城县| 沐川县| 招远市| 安徽省| 托克逊县| 湄潭县| 宁陵县| 诸暨市| 武功县| 黄冈市| 新干县| 若尔盖县| 五大连池市| 鸡东县|