将spring cloud打包docker镜像
简介:用spring cloud构建微服务后,微服务肯定要docker镜像化然后用rancher等可视化工具管理,这就是走完了一套基本的流程,现在简单介绍下
环境:两台centos7.x的服务器,一台本地window10
一个spring cloud的eureka的注册中心,
一个spring cloud的普通服务,注册到eureka
前提:首先你的spring cloud注册中心和普通服务要能本地运行,百度一搜到处都是资料,这里我就不细讲了,现在我们要把spring cloud部署到服务器上面
步骤:1.修改注册中心项目配置文件
spring.application.name=eureka-server
server.port=1111
eureka.instance.hostname=IP1 //注册中心所在服务器IP
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://IP1:1111/eureka/ //这里注意加上http://
修改普通服务配置文件
spring.application.name=api-gateway
server.port=5555
eureka.instance.hostname=IP2 //普通服务所在服务器IP
eureka.client.serviceUrl.defaultZone=http://IP1:1111/eureka/ //这里注意加上http://
然后我们打包jar,这里有两种打包方式,一种是运行编译后的java文件,一种是打包jar,我们选择的是打包jar包,进入项目的根目录,按住shift右击鼠标,点击在此处打开窗口,输入mvn install package(需要是maven项目,官网下载的spring boot初始项目自己配置了),完成后进去target目录找到jar包,现在我们直接在服务器上面运行java -jar jar-name是可以的,访问项目地址测试成功,继续将jar包封装成docker image,这个时候我们需要在jar包的同一目录新建一个Dockerfile(必须是这个名称)文件
Dockerfile内容:
# 基于哪个镜像
FROM java:8
# 将本地文件夹挂载到当前容器
VOLUME /home/container
# 拷贝文件到容器,也可以直接写成ADD eureka-server-0.0.1-SNAPSHOT.jar /app.jar
# 这个地方jar包名称改成自己的jar名称
ADD eureka-server-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
# 开放1111端口
EXPOSE 1111
# 配置容器启动后执行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
实际就是执行的linux命令,容器有自己一套独立的环境,实现了环境的隔离,后面不管在什么环境下,我们pull下这个镜像就可以直接运行
然后打包镜像 docker build -t eureka-server . //eureka-server是镜像名称可以自己定,最后的一个.不要省略了,他是用来找到Dockerfile文件的,不然会打包不成功的
打包完成后运行docker images查看镜像,发现有我们的eureka-server镜像了
将镜像运行在容器中:docker run -d -p 1111:1111 eureka-server //-d 表示后台运行,-p是端口映射
成功后查看正在运行容器: docker ps 发现eureka-server已经运行起来,访问http://IP1:1111就出现了我们熟悉的注册中心的界面了,bingo
普通服务是一样的,放在另一台服务器上面(当然也可以放在同一台服务器上面的),启动成功我们就在注册中心页面看到api-gate这个服务已经注册进来了
这样我们就实现了基本的spring cloud的docker化,当然如果你会打包docker镜像了就会发现每次都要打包很烦很烦,需求驱动你需要做持续集成了,还有界面化的管理等等
将spring cloud打包docker镜像的更多相关文章
- 【译文】用Spring Cloud和Docker搭建微服务平台
by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...
- 使用Spring Cloud和Docker构建微服务架构
原文:https://dzone.com/articles/microservice-architecture-with-spring-cloud-and-do 作者:Alexander Lukyan ...
- 《Spring Cloud与Docker微服务架构实战》配套代码
不才写了本使用Spring Cloud玩转微服务架构的书,书名是<Spring Cloud与Docker微服务架构实战> - 周立,已于2017-01-12交稿.不少朋友想先看看源码,现将 ...
- 手把手教你用Spring Cloud和Docker构建微服务
什么是Spring Cloud? Spring Cloud 是Pivotal提供的用于简化分布式系统构建的工具集.Spring Cloud引入了云平台连接器(Cloud Connector)和服务连接 ...
- 使用 Spring Cloud 和 Docker 构建微服务架构
如何使用Spring Boot.Spring Cloud.Docker和Netflix的一些开源工具来构建一个微服务架构. 本文通过使用Spring Boot.Spring Cloud和Docker构 ...
- Spring Cloud和Docker搭建微服务平台
用Spring Cloud和Docker搭建微服务平台 This blog series will introduce you to some of the foundational concepts ...
- Spring Cloud与Docker微服务架构实战 PDF版 内含目录
Spring Cloud与Docker微服务架构实战 目录 1 微服务架构概述 1 1.1 单体应用架构存在的问题1 1.2 如何解决单体应用架构存在的问题3 1.3 什么是微服务3 1.4 微服务 ...
- Spring Cloud,Docker书籍资源、优秀博文等记录
Spring Cloud,Docker书籍资源.优秀博文等记录 Spring Cloud,Docker书籍资源.优秀博文等记录 一.书籍 二.博文地址 三.思维导图Or图片 3.1一张图总结 Dock ...
- Spring Cloud与Docker——微服务架构概述
Spring Cloud与Docker--微服务架构概述 单体应用架构概述 微服务概述 微服务的特性 微服务架构的优点 微服务面临的挑战 微服务的设计原则 单体应用架构概述 传统的服务发布都是采用单体 ...
随机推荐
- HTTP严格安全传输(HTTP Strict Transport Security, HSTS)chromuim实现源码分析(一)
// HTTP strict transport security (HSTS) is defined in// http://tools.ietf.org/html/ietf-websec-stri ...
- Jenkins在windows上的安装配置
今天是2月14号,所谓西方情人节,下班回来发现,2月14过的比七夕还火热.于是上网百度百科查询了"情人节". 毕竟是中国的百度啊.是这么解释的.我感到很欣慰.过得每一个节日都应该 ...
- matlab 嵌套循环的学习
循环嵌套带嵌套的循环一般为两重,举例1: disp('一个简单的二重for循环'); : : result = ii *jj ; fprintf(' %d * %d = %d \n',ii,jj,re ...
- 转:微信开发获取地理位置实例(java,非常详细,附工程源码)
微信开发获取地理位置实例(java,非常详细,附工程源码) 在本篇博客之前,博主已经写了4篇关于微信相关文章,其中三篇是本文基础: 1.微信开发之入门教程,该文章详细讲解了企业号体验号免费申请与一 ...
- Angularjs学习笔记《一》
开始慢慢的学习新的框架,Angularjs,其中原理不知深浅,但有例子练习,慢慢熟知.看的英文文档一点点翻译学习. 第一个例子,写一个增加,选中,删除的例子, 首先要引进所用的框架源码,这样引进,下面 ...
- web开发之Servlet 一
因为最近在研究公司一套新的框架,发现这套框架的底层是对Struts2,Spring 封装后的WEB应用框架,而我发现如果仅仅是利用这个框架开发,确实很容易快速上手,做业务来说是没有问题的,但我觉得如果 ...
- devexpress表格gridcontrol实现分组,并根据分组计算总计及平均值
1.devexpress表格控件gridcontrol提供了强大的分组功能,你几乎不用写什么代码就可以实现一个分组功能,并且可根据分组计算总计和平均值.这里我例举了一个实现根据班级分组计算班级总人数, ...
- jQuery基本知识
jquery基本操作笔记 jq和js 可以共存,不能混用: 1 2 3 4 5 6 $('.box').css('background','red'); $(".box").c ...
- 使用yum安装cmake
一.搜索yum源中的CMake,查看源中最新的版本是什么,使用命令[root@localhost ~]# yum search cmake ,如果搜索出的结果过多可以配合grep命令来控制搜索结果. ...
- 前端总结·基础篇·CSS(三)补充
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 目录 一.移动端 1.1 视口(viewport) 1.2 媒体查询(medi ...