前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker下运行springboot

Docker下运行springboot

作者头像
程序员欣宸
发布2022-05-09 09:05:12
2900
发布2022-05-09 09:05:12
举报
文章被收录于专栏:实战docker

原文地址:http://blog.csdn.net/boling_cavalry/article/details/78991870

本章我们做个Docker镜像,今后用此镜像的容器运行springboot的jar包,再通过端口映射对外提供http服务;

实战环境

本次实战的环境是Ubuntu16,安装的Docker版本是17.03.2-ce

制作材料

制作镜像所需的材料很简单:jdk1.8安装包,此文件我已分割后上传到github上(由于github上传单个文件不能大于50M,所以只能分割后上传),地址是:https://github.com/zq2599/springbootrun,如下图,红框中的文件就是分割好的jdk1.8安装包:

这里写图片描述
这里写图片描述

Dockerfile

Dockerfile内容如下,每行都有注释,就不再赘述了:

代码语言:javascript
复制
# Docker image for springboot file run
# VERSION 0.0.1
# Author: bolingcavalry

#基础镜像使用centos7
FROM centos:centos7

#作者
MAINTAINER BolingCavalry <zq2599@gmail.com>

#定义工作目录
ENV WORK_PATH /usr/local/work

#定义jdk1.8的文件夹
ENV JDK_PACKAGE_FILE jdk1.8.0_144

#定义jdk1.8的文件名
ENV JDK_RPM_FILE jdk-8u144-linux-x64.rpm

#yum更新
RUN yum -y update

#把分割过的jdk1.8安装文件复制到工作目录
COPY ./jdkrpm-* $WORK_PATH/

#用本地分割过的文件恢复原有的jdk1.8的安装文件
RUN cat $WORK_PATH/jdkrpm-* > $WORK_PATH/$JDK_RPM_FILE

#本地安装jdk1.8
RUN yum -y localinstall $WORK_PATH/$JDK_RPM_FILE

#暴露8080端口
EXPOSE 8080

将Dockerfile和JDK安装包的分割文件放在同一目录下,在此目录下执行如下命令:

代码语言:javascript
复制
docker build -t bolingcavalry/springbootrun:0.0.1 .

稍后即构建成功,如下图所示:

这里写图片描述
这里写图片描述

验证镜像

验证此镜像的方法是用该镜像启动一个容器,再运行一个spring boot工程试试;

  1. 执行以下命令启动一个容器:
代码语言:javascript
复制
docker run --name=test001 -p 8080:8080 -idt -v /usr/local/work/share:/usr/Downloads bolingcavalry/springbootrun:0.0.1

该容器启动后,8080端口被映射到前电脑的8080端口,目录/usr/Downloads被映射到当前电脑的/usr/local/work/share目录; 2. 执行docker ps命令看一下本机活跃容器,如下图,容器启动成功:

这里写图片描述
这里写图片描述

3. 您可以自己建一个spring boot的web工程,做个最简单的controller,再打包成jar文件,或者直接用我的git仓库中的springbootdemo-0.0.1-SNAPSHOT.jar文件(地址:https://github.com/zq2599/springbootrun),放入本机的/usr/local/work/share目录; 4. 执行docker exec -it test001 /bin/bash命令进入容器,再进入容器的/usr/Downloads目录,这个目录和当前电脑的/usr/local/work/share是映射关系,所以步骤3中复制的springbootdemo-0.0.1-SNAPSHOT.jar文件就在这个目录下了; 5. 执行命令java -jar springbootdemo-0.0.1-SNAPSHOT.jar,启动spring boot成功,如下图:

这里写图片描述
这里写图片描述

6. 我的电脑IP是192.168.119.155,所以用浏览器访问http://192.168.119.155:8080,看到如下信息表示服务正常:

这里写图片描述
这里写图片描述

以上就是springboot运行环境镜像的制作过程,您可以自己试着做出这个镜像文件,也可以直接使用bolingcavalry/springbootrun:0.0.1这个镜像,因为我已push到hub.docker.com上去了;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实战环境
  • 制作材料
  • Dockerfile
  • 验证镜像
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档