1 Star 0 Fork 0

恶徒/springBootDocker

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

springBootDocker

项目介绍

使用 docker 来启动 springboot项目

springBoot版本:2.0.4.RELEASE

项目构建顺序

  • 使用spring Initialzr 初始化项目(需要 web-start)
  • 初始化一个RestController 并且可以启动项目后进行访问
  • 在pom.xml 文件中 新增 <docker.image.prefix>zhxspringboot</docker.image.prefix> 在 properties 节点中
  • 在pom.xml 文件中 新增 plugins
<!-- Docker maven plugin -->
<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <configuration>
        <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
        <dockerDirectory>src/main/docker</dockerDirectory>
        <resources>
            <resource>
                <targetPath>/</targetPath>
                <directory>${project.build.directory}</directory>
                <include>${project.build.finalName}.jar</include>
            </resource>
        </resources>
    </configuration>
</plugin>
<!-- Docker maven plugin -->
  • 在src/main/docker 下创建 Dockerfile文件(注意大小写) 文件包含以下内容 其中yourJarName 是你jar包的名字
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD yourJarName.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
  1. FROM ,表示使用 Jdk8 环境 为基础镜像,如果镜像不是本地的会从 DockerHub 进行下载
  2. VOLUME ,VOLUME 指向了一个/tmp的目录,由于 Spring Boot 使用内置的Tomcat容器,Tomcat 默认使用/tmp作为工作目录。这个命令的效果是:在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
  3. ADD ,拷贝文件并且重命名
  4. ENTRYPOINT ,为了缩短 Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为 ENTRYPOINT
  • 确保机器内部mvn jdk 环境 正确后 使用命令 mvn package docker:build 如果使用的是ide 开发工具的话可以直接在 edit configurations 中添加 maven 然后在 command line 中加入 mvn package docker:build 命令

  • 运行命令

  • 运行成功的情况下:

Step 2/4 : VOLUME /tmp
 ---> Running in badd2e445fd9
 ---> b02e14ad9f5a
Removing intermediate container badd2e445fd9
Step 3/4 : ADD docker-0.0.1-SNAPSHOT.jar app.jar
 ---> 879c480a31a0
Step 4/4 : ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /app.jar
 ---> Running in 48108fb5a1f2
 ---> ac233e7d67f2
Removing intermediate container 48108fb5a1f2
ProgressMessage{id=null, status=null, stream=null, error=null, progress=null, progressDetail=null}
Successfully built ac233e7d67f2
Successfully tagged zhxspringboot/docker:latest
[INFO] Built zhxspringboot/docker
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
  • 打开命令行 输入 docker images 可以看到刚才打包的镜像
ages
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
zhxspringboot/docker   latest              ac233e7d67f2        10 minutes ago      119MB
openjdk                8-jdk-alpine        5801f7d008e5        7 weeks ago         103MB
alpine                 latest              e21c333399e0        9 months ago        4.14MB
centos                 latest              3fa822599e10        9 months ago        204MB
prom/prometheus        latest              67141fa03496        9 months ago        80.2MB
  • docker run -p 8080:8080 -t yourname/yourname 在命令行中输入如下命令 即可开始跑你的服务
  • 启动完成之后我们使用docker ps查看正在运行的镜像
  • 打开浏览器 即可访问服务

空文件

简介

使用 docker 来启动 springboot项目 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/codezhx_admin/springBootDocker.git
git@gitee.com:codezhx_admin/springBootDocker.git
codezhx_admin
springBootDocker
springBootDocker
master

搜索帮助