1. 程式人生 > 其它 >【docker】製作純淨的springboot映象

【docker】製作純淨的springboot映象

技術標籤:伺服器docker

文章目錄



提示:以下是本篇文章正文內容,下面案例可供參考

一、製作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命令

  1. FROM 基於**映象
  2. MAINTAINER 映象的維護的姓名和郵箱地址
  3. RUN 映象構建時需要執行的命令
  4. WORKDIR 容器建立後,預設在的目錄
  5. EXPOSE 當前容器對外暴露埠
  6. ENV 環境變數
  7. ADD 將宿主機目錄下的檔案cp到映象中,ADD命令會自動解壓壓縮包
  8. VOLUME 容器資料卷,用於儲存和持久化
  9. CMD 指定容器啟動過程中需要執行的命令,注意:多條CMD命令,只有最後一條生效,CMD會被docker run 之後的引數替換
  10. ENTRYPOINT 執行容器啟動過程中需要執行的命令,此命令會追加到docker run的引數後面