日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器

發布時間:2023/11/28 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Dockerfile 將springboot項目jar包打成鏡像,并將yml配置文件外掛。

# 以一個鏡像為基礎,在其上進行定制。就像我們之前運行了一個 nginx 鏡像的容器,再進行修改一樣,基礎鏡像是必須指定的。而 FROM 就是指定 基礎鏡像,因此一個 Dockerfile 中 FROM 是必備的指令,并且必須是第一條指令。
FROM centos:7
# 聲明作者
MAINTAINER developer
# 在構建鏡像時執行腳本
RUN yum -y install java
# 指定工作目錄。用 WORKDIR 指定的工作目錄,會在構建鏡像的每一層中都存在。
WORKDIR /opt/
# 復制指令,從上下文目錄中復制文件或者目錄到容器里指定路徑。
COPY test-0.0.1-SNAPSHOT.jar /opt/test/
COPY application.yml /opt/test/application.yml
# 僅僅只是聲明端口。
EXPOSE 8899
# 類似于 RUN 指令,用于運行程序
# 優點:在執行 docker run 的時候可以指定 ENTRYPOINT 運行所需的參數。
# 注意:如果 Dockerfile 中如果存在多個 ENTRYPOINT 指令,僅最后一個生效。
ENTRYPOINT ["java","-Dspring.config.location=/opt/test/application.yml","-jar","/opt/test/test-0.0.1-SNAPSHOT.jar"]

上面用到的復制指令為COPY,還有一個命令為ADD,ADD 指令和 COPY 的使用格類似(同樣需求下,官方推薦使用 COPY)。功能也類似,不同之處如下:

  • ADD 的優點:在執行 <源文件> 為 tar 壓縮文件的話,壓縮格式為 gzip, bzip2 以及 xz 的情況下,會自動復制并解壓到 <目標路徑>。
  • ADD 的缺點:在不解壓的前提下,無法復制 tar 壓縮文件。會令鏡像構建緩存失效,從而可能會令鏡像構建變得比較緩慢。具體是否使用,可以根據是否需要自動解壓來決定。

去掉注釋:

FROM centos:7
MAINTAINER developer
RUN yum -y install java
WORKDIR /opt/
COPY test-0.0.1-SNAPSHOT.jar /opt/test/
COPY application.yml /opt/test/application.yml
EXPOSE 8899
ENTRYPOINT ["java","-Dspring.config.location=/opt/test/application.yml","-jar","/opt/test/test-0.0.1-SNAPSHOT.jar"]

總結

以上是生活随笔為你收集整理的Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。