Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器
生活随笔
收集整理的這篇文章主要介紹了
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配置文件从外部挂入容器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Chrome中打开网页时出现以下问题
- 下一篇: 解决gitte提交报错 error: G