docker教程—dockerfile實戰
阿新 • • 發佈:2019-07-05
本教程將通過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