本教程将经过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端口上