【docker】製作純淨的springboot映象
阿新 • • 發佈:2021-02-04
文章目錄
提示:以下是本篇文章正文內容,下面案例可供參考
一、製作jdk8映象
下載jdk1.8
wget https://repo.huaweicloud.com/java/jdk/8u201-b09/jdk-8u201-linux-x64.tar.gz
解壓壓縮包
[[email protected] docker_jdk]# ls
Dockerfile jdk1.8.0_201
Dockerfile
FROM centos:centos7
MAINTAINER sandishui
RUN mkdir /usr/local/jdk
WORKDIR /usr/local/jdk
ADD jdk1.8.0_201 /usr/local/jdk/jdk1.8.0_201
ENV JAVA_HOME /usr/local/jdk/jdk1.8.0_201
ENV JRE_HOME /usr/local/jdk/jdk1.8.0_201/jre
ENV PATH $JAVA_HOME/bin:$PATH
開始build
docker build -t jdk1.8 .
注意後面的點,點表示當前目錄。
檢視當前映象
[[email protected] docker_jdk]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE image_jdk1.8 latest 04e6a53c5bbf About an hour ago 601 MB docker.io/centos centos7 8652b9f0cb4c 2 months ago 204 MB docker.io/hello-world latest bf756fb1ae65 13 months ago 13.3 kB
二、製作springBoot映象
打包一個自己的springboot工程,保證本地能啟動成功。
建立資料夾image_spring_boot
,並且放入檔案
[[email protected] image_spring_boot]# ls
Dockerfile docker-hello-1.0-SNAPSHOT.jar
Dockerfile檔案內容
FROM image_jdk1.8
MAINTAINER sandishui
RUN mkdir /usr/local/webapp
WORKDIR /usr/local/webapp
ADD docker-hello-1.0-SNAPSHOT.jar /usr/local/webapp
ENTRYPOINT [ "nohup","java","-jar","docker-hello-1.0-SNAPSHOT.jar","&"]
在當前資料夾中執行
docker build -t spring_boot .
注意最後的點。表示當前目錄
檢視當前映象
[[email protected] image_spring_boot]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
spring_boot latest c68c6aa2f2d0 23 minutes ago 618 MB
image_jdk1.8 latest 04e6a53c5bbf About an hour ago 601 MB
docker.io/centos centos7 8652b9f0cb4c 2 months ago 204 MB
docker.io/hello-world latest bf756fb1ae65 13 months ago 13.3 kB
啟動springboot
docker run -itd -p 8080:8080 c68c6aa2f2d0
三、dockerfile命令
- FROM 基於**映象
- MAINTAINER 映象的維護的姓名和郵箱地址
- RUN 映象構建時需要執行的命令
- WORKDIR 容器建立後,預設在的目錄
- EXPOSE 當前容器對外暴露埠
- ENV 環境變數
- ADD 將宿主機目錄下的檔案cp到映象中,ADD命令會自動解壓壓縮包
- VOLUME 容器資料卷,用於儲存和持久化
- CMD 指定容器啟動過程中需要執行的命令,注意:多條CMD命令,只有最後一條生效,CMD會被docker run 之後的引數替換
- ENTRYPOINT 執行容器啟動過程中需要執行的命令,此命令會追加到docker run的引數後面