docker 灰小白的日常--one

220 阅读1分钟

目的:让spring boot项目在docker 运行起来

前提:linux 安装docker

步骤:

一:创建spring boot 项目并打包为jar包

可以在pom 文件中加上

     <!-- 版本 -->
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <packaging>jar</packaging>--打包jar
    <description>Demo project for Spring Boot</description>

二:编写Dockerfile文件

# 基础镜像使用java,会默认拉取镜像
FROM java:8
# 使用人
MAINTAINER eangulee <1094121819@qq.com>
# VOLUME 指定了临时文件目录为/tmp,在/var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp,/tmp目录用来持久化到 Docker 数据文件夹,spring boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar,demo-0.0.1-SNAPSHOT.jar是spring boot 项目中定义的
ADD demo-0.0.1-SNAPSHOT.jar app.jar
# 运行jar包,指定运行时的参数
RUN bash -c 'touch /app.jar'
# ENTRYPOINT 执行运行 系统属性 /dev/./urandom
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

三:部署项目

在linux中新建一个目录存放创建的spring boot jar 和 Dockerfile 文件,并在该目录下执行以下命令

# 制作镜像根据Dockerfile生成,-t 参数是指定此镜像的tag名,后面的 . 当前目录
docker build -t demoSpringDocker .
# 查看制作的镜像
docker images
# 启动容器,-d 参数是让容器后台运行 ,-p 做端口映射,将服务器中的8080端口映射到容器中的8087(spring boot 端口配置的是8087)
docker run -d -p 8080:8087 demoSpringDocker

四、访问网页

查看部署情况: http://服务器地址:8080/

ps: 记得配置可访问地址和端口。