Docker容器发布spring boot项目
一、安装Docker环境
yum install docker
安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动:
systemctl start docker.service
systemctl enable docker.service
下一步,使用Docker 中国加速器
vi /etc/docker/daemon.json
#添加后

重新启动docker
systemctl restart docker
输入docker version 返回版本信息则安装成功

二、安装JDK
yum -y install java-1.8.0-openjdk*
下一步,配合环境变量 打开 vim /etc/profile 添加一下内容
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-7.b10.el7.x86_64/jre
export PATH=$PATH:$JAVA_HOME/bin
修改完成之后,使其生效
source /etc/profile
输入java -version 返回版本信息则安装正常

三、安装MAVEN
下载:http://mirrors.shu.edu.cn/apache/maven/maven-3/
这里面有maven的多个版本,这里用的是apache-maven-3.5.3-bin.tar.gz
#解压
tar vxf apache-maven-3.5.3-bin.tar.gz
#移动
mv apache-maven-3.5.2 /usr/local/maven3
修改环境变量,在/etc/profile 中添加以下几行
MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
记得执行source /etc/profile使环境变量生效。
然后,输入mvn -version 返回版本信息则安装正常

##################到这里环境就配置完成了,后面就是真正部署的部分了,因为过程曲折,可能比较详细,亲测可用##############
先使用Maven 打包,mvn clean package, 生成jar包(spring-boot-docker-0.0.1-SNAPSHOT.jar)
编写Dockerfile:

接下来,创建一个空目录,将Dockerfile和spring-boot-docker-0.0.1-SNAPSHOT.jar放入其中,构建镜像
docker build -t huangll/springboot-docker . (注意了,这里有个小点点!!!)
大概就是这样执行的
Sending build context to Docker daemon 16.01 MB
Step 1/4 : FROM openjdk:8-jdk-alpine
---> 224765a6bdbe
Step 2/4 : VOLUME /tmp
---> Using cache
---> c34991cf3051
Step 3/4 : ADD spring-boot-docker-0.0.1-SNAPSHOT.jar app.jar
---> 344587401990
Removing intermediate container a88d2b603c17
Step 4/4 : ENTRYPOINT /usr/bin/java -Djava.security.egd=file:/dev/./urandom -jar /app.jar
---> Running in 1c270b3dad07
---> 65448657984f
Removing intermediate container 1c270b3dad07
Successfully built 65448657984f
下一步:docker images 查看镜像

运行容器:
docker run -d --name springboot -p 8888:8888 spring-boot/spring-boot-docker
docker ps 查看容器:

到这里就发布成功了!!!
我的只是测试项目,访问路径是:http://127.0.0.1:8888/

Docker容器发布spring boot项目的更多相关文章
- 【原创】Docker容器及Spring Boot微服务应用
Docker容器及Spring Boot微服务应用 1 什么是Docker 1.1 Docker的出现 问题一:项目实施环境复杂问题 传统项目实施过程中经常会出现“程序在我这跑得好好的,在你那怎么就不 ...
- 在Docker中部署Spring Boot项目
想要获取更多文章可以访问我的博客 - 代码无止境. 微服务现在在互联网公司可谓非常流行了,之前找工作的的时候很多HR电话约面试的时候都会问对微服务是否有过接触.而微服务和Docker可以非常完美的结合 ...
- docker+jenkins实现spring boot项目持续集成自动化部署
一.首先jenkins与docker的安装参考下面链接 安装jenkins: https://www.cnblogs.com/jescs/p/7644635.html 安装docker:ht ...
- 阿里云服务器 配置 tomcat 发布spring boot项目 的具体操作 【使用公网ip】
1.前言 spring boot 转成war包 后用tomcat发布的具体操作在我另一篇随笔有详细记载,不论是window系统还是Linux系统,tomcat的发布配置都是一样的,所以这里不具体讲这个 ...
- Jenkins 自动发布 Spring Boot 项目(Gitee)
1.下载 wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war,并部署到tomcat下 2.机器安装好 java ,maven ,g ...
- IDEA连接远程服务器Docker部署Spring Boot项目
开始前的准备工作 拥有一台云服务器,我的是腾讯云服务器(CentOS7) 腾讯云服务器安装Docker,我的版本是Docker 19.03.9,关于安装和配置镜像加速器可以查阅我的另一篇博文:http ...
- spring boot 项目打成war,丢入tomcat独立运行
小插曲:通过cmd运行startup.bat,cmd界面显示乱码 解决方法:进入tomcat目录,conf文件夹,用编辑器打开logging.properties 将java.util.logging ...
- spring boot 项目打成war包部署到服务器
这是spring boot学习的第二篇了,在上一篇已经整合了spring boot项目了,如果还有小伙伴没有看得可以先去看第一篇 基础整合spring boot项目 到这里的小伙伴应该都是会整合基本的 ...
- spring boot项目发布tomcat容器(包含发布到tomcat6的方法)
spring boot因为内嵌tomcat容器,所以可以通过打包为jar包的方法将项目发布,但是如何将spring boot项目打包成可发布到tomcat中的war包项目呢? 1. 既然需要打包成wa ...
随机推荐
- 【Unity技巧】统一管理回调函数——观察者模式
这次的内容有点类似设计模式里的观察者模式.但是和常规意义上的观察者模式也不是完全一致,所以各位就不要咬文嚼字啦!咦?设计模式?!不懂!没关系,说不定你以前就用过. 开场白 我们来想象一个场景.在加载一 ...
- 集群通信组件tribes之集群的消息接收通道
与消息发送通道对应,发送的消息需要一个接收端接收消息,它就是ChannelReceiver.接收端负责接收处理其他节点从消息发送通道发送过来的消息,实际情况如图每个节点都有一个ChannelSende ...
- React Native开发必备的10个插件包
Sublime Text 具有漂亮的用户界面和强大的功能,例如代码缩略图,多重选择,快捷命令等.Sublime Text 更妙的是它的可扩展性.所以,这里挑选了全栈开发必备的10款 Sublime T ...
- ARC时代的内存管理
什么是ARC Automatic Reference Counting (ARC) is a compiler feature that provides automatic memory manag ...
- C语言之鞍点的查找
鞍点(Saddle point)在微分方程中,沿着某一方向是稳定的,另一条方向是不稳定的奇点,叫做鞍点.在泛函中,既不是极大值点也不是极小值点的临界点,叫做鞍点.在矩阵中,一个数在所在行中是最大值,在 ...
- C++之IO操作
可参考自: C++之标准设备IO操作流 C++之预定义类型IO格式控制 C++之文件IO操作流
- Android高级控件(二)——SurfaceView实现GIF动画架包,播放GIF动画,自己实现功能的初体现
Android高级控件(二)--SurfaceView实现GIF动画架包,播放GIF动画,自己实现功能的初体现 写这个的原因呢,也是因为项目中用到了gif动画,虽然网上有很多的架包可以实现,不过我们还 ...
- Python的基本数据数字、字符串、布尔值及其魔法
基本数据类型介绍 若要把Pyhton的基本数据类型:数字(int).字符串(str).布尔(bool).列表(list).元组(tuple).字典(dict)都分为一个个不同的角色 如:战士,魔法师, ...
- mongodb备份还原脚本
同步 echo off ,%-%date:~,%-%date:~,% set bak_dir=mongo_na_world_svn2win_%time_dir% set fromdb=db_erago ...
- Awesome Big Data List
https://github.com/onurakpolat/awesome-bigdata A curated list of awesome big data frameworks, resour ...