本教程將經過ubuntu做爲基礎鏡像,配置java運行環境,運行實際SpringBoot項目html
首先梳理一下要運行一個java項目咱們須要作那些事:java
一、準備一臺服務器linux
二、配置java環境 docker
2.1 下載JDKshell
2.2 將JDK複製到服務端
2.3 解壓下載的JDK壓縮包
2.4 配置環境變量ubuntu
2.5 將項目SpringBoot項目jar包複製到指定路徑下vim
2.6 運行jar包centos
按照以上步驟,咱們一步步操做(本人服務器爲Ubuntu)bash
https://www.oracle.com/technetwork/java/javase/downloads/index.html
在以上網址下載合適版本的JDK,服務器
scp /jdk路徑/jdk-8u211-linux-x64.tar.gz ubuntu@服務端IP:/編寫dockerfile的位置/docker-centos-vim
# 選擇基礎鏡像 我選擇Ubuntu FROM ubuntu:tag #tag爲版本 # 添加維護者信息 LABEL version="1.0" #版本 LABEL description="this is an Image for Springboot application" #基本描述 LABEL maintainer="haoyuehong91@163.com" #維護者信息 # 配置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端口上