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 ...
随机推荐
- pyhton exit
exit("0") is normally out, and means "successful termination" exit("1" ...
- Cocos2D v2.0至v3.x简洁转换指南(五)
资源管理 如果你没有计划用SpriteBuilder,你可以继续使用后缀去管理各种不同解决方案中的图像. 首先,你需要在AppDelegate.m中将[CCBReader configrueCCFil ...
- Swift的基础之UILabel控件
对于UILabel的相关内容,其他控件可以相似创建 //设置全局变量,将下面的 let 去掉,然后替换即可 //var myLabel = UILabel(); //系统生成的view ...
- Github Coding Developer Book For LiuGuiLinAndroid
Github Coding Developer Book For LiuGuiLinAndroid 收集了这么多开源的PDF,也许会帮到一些人,现在里面的书籍还不是很多,我也在一点点的上传,才上传不到 ...
- J2EE进阶(一)随堂笔记
进公司搞研发,基本上用的都是J2EE框架.若想在公司混个不错的地位,首先技术上必须过关.由于需求所致,自己学习了J2EE一段时间,主要是Struts2,MyBatis(Hibernate的前身),远远 ...
- Memcached学习笔记 — 第四部分:Memcached Java 客户端-gwhalin(1)-介绍及使用
介绍 Memcached java client是官方推荐的最早的memcached java客户端.最新版本:java_memcached-release_2.6.1. 官方下载地址:http ...
- 【一天一道LeetCode】#17. Letter Combinations of a Phone Number
一天一道LeetCode (一)题目 Given a digit string, return all possible letter combinations that the number cou ...
- 使用IO映射的方式获取tiny4412板子上的ID号
在以前的文章中,有一篇 基于ARM-contexA9-Linux驱动开发:如何获取板子上独有的ID号 在那篇文章中,具体可以参考.那时候我使用了简单的字符设备驱动框架,最终的ID号通过read方法可将 ...
- 关于IOS开发的基本书籍推荐
1. Sams Teach Yourself iOS 5 Application Development in 24 Hours<img src="https://pic4.z ...
- iOS中tableView组头部或尾部标题的设置
解决在tableView返回组标题直接返回字符串,带来的不便设置组标题样式的问题解决办法,设置尾部标题和此类似 // 返回组头部view的高度 - (CGFloat)tableView:(UITab ...