- 一、Docker 部署 SpringBoot 项目步骤
- 二、Docker 部署 jar 包 SpringBoot 程序
- 1. 定义 jar 程序 Dockerfile 文件
- 2. 构建和运行 jar 包程序的镜像
- 3. jar 包程序依赖容器环境准备
- 三、Docker 部署 war 包 SpringBoot 程序
- 1. 定义 war 包程序 Dockerfile 文件
- 2. 构建和运行 war 包程序的镜像
- 3. war 包程序依赖容器环境准备
- 4. 运行 Docker 化的 war 包程序
一、Docker 部署 SpringBoot 项目步骤
步骤:
- 将开发的 SpringBoot 程序达成 jar 包或 war 包
- 将打好的 jar 包或 war 包上传到 Linux 某个目录下,比如:/root/docker
- 定义 DockerFile 文件,用于创建项目镜像
首先我们先来创建 JDK 镜像
基于 centos 7 镜像,在 jdk 压缩包同级目录下创建一个Dockerfile,并填写以下内容。
vi Dockerfile
#依赖镜像名称和ID
FROM centos
#指定镜像创建者信息
MAINTAINER fancy
#切换工作目录
WORKDIR /usr
RUN mkdir /usr/local/java
#ADD 是相对路径jar,把java添加到容器中
ADD jdk-8u121-linux-x64.tar.gz /usr/local/java/
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_121
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
执行命令构建镜像(在/user/java/Dockerfile所在目录执行)
docker build -t fancy_jdk1.8 .
这样自定义镜像就构建好了,我们再利用此自定义镜像来部署我们的程序
定义 jar 程序的 Dockerfile 与 jar 程序放在同一目录
构建镜像:docker build -t springboot-jar .
运行容器:docker run -d ac84bde53958
运行 Redis 容器:docker run -p 6379:6379 -d redis
运行 MySQL 容器:docker run -p 3306:3306 -e MYSQL_DATABASE=workdb -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
修改容器保存:docker commit 容器 id xxx(镜像名:tagxxx)
比如:docker commit b034f6d23833 fancy_mysql_new
FROM fancy-tomcat-8.5.24
MAINTAINER fancy
ADD springboot-web-1.0.0.war /usr/local/apache-tomcat-8.5.24/webapps
EXPOSE 8080
CMD /usr/local/apache-tomcat-8.5.24/bin/catalina.sh run
2. 构建和运行 war 包程序的镜像
构建镜像:docker build -t springboot-web-war
.
与上面部署 jar 程序依赖的容器环境一样
4. 运行 Docker 化的 war 包程序通过 windows 的浏览器访问,验证 SpringBoot 项目是否可以正常访问。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)