1. 程式人生 > >docker教程—dockerfile實戰

docker教程—dockerfile實戰

本教程將通過ubuntu作為基礎映象,配置java執行環境,執行實際SpringBoot專案

首先梳理一下要執行一個java專案我們需要做那些事:

1、準備一臺伺服器

2、配置java環境   

    2.1    下載JDK

    2.2    將JDK複製到服務端
    2.3    解壓下載的JDK壓縮包
    2.4    配置環境變數

    2.5    將專案SpringBoot專案jar包複製到指定路徑下

    2.6    執行jar包

按照以上步驟,我們一步步操作(本人伺服器為Ubuntu)

  • 下載JDK    

https://www.oracle.com/technetwork/java/javase/downloads/index.html

在以上網址下載合適版本的JDK,

  • 將下載的JDK複製到服務端

scp /jdk路徑/jdk-8u211-linux-x64.tar.gz ubuntu@服務端IP:/編寫dockerfile的位置/docker-centos-vim
  • 書寫dockerfile

# 選擇基礎映象  我選擇Ubuntu
FROM ubuntu:tag #tag為版本
# 新增維護者資訊
LABEL version="1.0"  #版本
LABEL description="this is an Image for Springboot application"  #基本描述
LABEL maintainer="[email protected]" #維護者資訊
# 配置JDK
# 1.將宿主機上的JDK ADD容器內部 為什麼用ADD不用COPY呢 因為ADD會解壓 還有JDK最好跟dockerfile在同一目錄
ADD  jdk-8u211-linux-x64.tar.gz /soft/
# 配置環境變數
ENV JAVA_HOME /soft/jdk1.8.0_211
ENV JRE_HOME ${JAVA_HOME}/jre
ENV CLASSPATH .:${JAVA_HOME}/lib:${JAR_HOME}/lib
ENV PATH ${M2_HOME}/bin:$PATH
# 將專案jar包COPY到容器中 用COPY因為不會解壓
COPY admin-0.0.1-SNAPSHOT.jar /app/
# 暴露埠
EXPOSE 9000
# 切換工作目錄
WORKDIR /app/
# 執行jar包
# ENTRYPOINT ["java","-jar","/app/admin-0.0.1-SNAPSHOT.jar"] 或shell方式
ENTRYPOINT nohub java -jar admin-0.0.1-SNAPSHOT.jar&
  • 建立映象

docker build -t image_name .

千萬別忘記後面的 . 

image_name 是映象名稱

  • 構建容器

docker run -d --name container -p 9000:8000 image_nmae 

-d 代表守護程序  如果希望互動式 將-d改為 -it  

--name 後面是自定義名稱 

-p 埠對映  以上代表將容器內的8000埠對映到宿主機9000