文档章节

(十一)JAVA ssm b2b2c多用户商城系统源码-docker部署spring cloud项目

s
 sccspuercode
发布于 01/28 09:41
字数 1247
阅读 8
收藏 0

构建eureka-server镜像成功。

同理构建service-hi镜像

  • pom文件导入同eurek-server
  • 修改下配置文件:

一、docker简介

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。 
Docker通常用于如下场景:

  • web应用的自动化打包和发布;
  • 自动化测试和持续集成、发布;
  • 在服务型环境中部署和调整数据库或其他的后台应用;
  • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

Docker 的优点

    • 1、简化程序: 
      Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。

    • 2、避免选择恐惧症: 
      如果你有选择恐惧症,还是资深患者。Docker 帮你 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。

    • 3、节省开支: 
      一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。

    • 二、准备工作

      环境条件:

    • linux系统,不建议windows
    • docker最新版本
    • jdk 1.8
    • maven3.0
    • 三、改造工程、构建镜像

      改造eureka-server工程

      在pom文件加上插件:

    • <build>
              <plugins>
                  <plugin>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-maven-plugin</artifactId>
                  </plugin>
                  <!-- tag::plugin[] -->
                  <plugin>
                      <groupId>com.spotify</groupId>
                      <artifactId>docker-maven-plugin</artifactId>
                      <version>0.4.3</version>
                      <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>
                  <!-- end::plugin[] -->
              </plugins>
          </build>

       

    • Spotify 的 docker-maven-plugin 插件是用maven插件方式构建docker镜像的。

    • imageName指定了镜像的名字,本例为 forep/eureka-server
    • dockerDirectory指定 Dockerfile 的位置
    • 修改下配置文件:

    • resources是指那些需要和 Dockerfile 放在一起,在构建镜像时使用的文件,一般应用 jar 包需要纳入。

  • server:
      port: 8761
    eureka:
      instance:
        prefer-ip-address: true
      client:
        registerWithEureka: false
        fetchRegistry: false<br>

    编写dockerfile文件:

  • FROM frolvlad/alpine-oraclejdk8:slim
    VOLUME /tmp
    ADD eureka-server-0.0.1-SNAPSHOT.jar app.jar
    #RUN bash -c 'touch /app.jar'
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
    EXPOSE 8761

     

  • docker file编写指令:

  • FROM
docker file编写指令:
 
FROM
  • FROM指令必须指定且需要在Dockerfile其他指令的前面,指定的基础image可以是官方远程仓库中的,也可以位于本地仓库。后续的指令都依赖于该指令指定的image。当在同一个Dockerfile中建立多个镜像时,可以使用多个FROM指令。

  • VOLUME
  • 格式为:

VOLUME ["/data"]
  • 使容器中的一个目录具有持久化存储数据的功能,该目录可以被容器本身使用,也可以共享给其他容器。当容器中的应用有持久化数据的需求时可以在Dockerfile中使用该指令。

  • ADD
  • 从src目录复制文件到容器的dest。其中src可以是Dockerfile所在目录的相对路径,也可以是一个URL,还可以是一个压缩包

  • ENTRYPOINT
  • 指定Docker容器启动时执行的命令,可以多次设置,但是只有最后一个有效。

  • EXPOSE
  • 为Docker容器设置对外的端口号。在启动时,可以使用-p选项或者-P选项。

    构建镜像

    执行构建docker镜像maven命令:

mvn clean
mvn package docker:build
  • 构建eureka-server镜像成功。

    同理构建service-hi镜像

    • pom文件导入同eurek-server
    • 修改下配置文件:
  • eureka:
      client:
        serviceUrl:
          defaultZone: http://eureka-server:8761/eureka/ # 这个需要改为eureka-server
    server:
      port: 8763
    spring:
      application:
        name: service-hi

     

  • 源码结构

  • Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求:一零三八七七四六二六

© 著作权归作者所有

共有 人打赏支持
s
粉丝 17
博文 96
码字总数 72612
作品 0
惠州
私信 提问
java B2B2C 源码 多级分销Springcloud多租户电子商城系统-Spring Cloud eureka

在构建项目之前,我们先学习一下eureka,这是官方的讲解,我这边再重新帮大家回顾一下:需要源码可以加企鹅球球:一零三八七七四六二六 来源: java B2B2C 源码 Springcloud多租户电子商城系...

park
01/15
0
0
(四)SpringBoot b2b2c Java 多用户商城系统-SpringBoot 整合JPA

JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 JPA 的目标之一是制定一个可以由很多供应商实现的API,并且开发...

01/19
0
0
Java B2B2C商城 二次开发

【业务需求】:对多用户商城进行Java二次开发。有B2B2C 多用户商城源代码及全部文档,商城网址:http://b2b2c.demo.shopxx.net/ 是shop 公司开源代码 技术构架 开发语言: Java 数 据 库 : ...

zb1509006131960
2017/10/26
0
0
java B2B2C 仿淘宝电子商城系统- Spring Cloud Data Flow 简介

Spring Cloud Data Flow 介绍 需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六 1.Data flow 是一个用于开发和执行大范围数据处理其模式包括E...

it菲菲
01/17
0
0
JAVA springcloud ssm b2b2c多用户商城系统源码 (三)SpringBoot用JdbcTemplates访问Mysql

准备工作 jdk 1.8 maven 3.0 idea mysql 初始化mysql: 创建工程 引入依赖: 在pom文件引入spring-boot-starter-jdbc的依赖: dao层 具体的实现类: 完整项目的源码来源 Spring Cloud大型企业...

02/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于360插件化Replugin 2.3.1版本的AS配置解决方案

编译错误:No signature of method: com.android.build.gradle.internal.scope.VariantScopeImpl.getMergeAssetsTask() is applicable for argument types: () values: [] 解决方案:加入热心......

Gemini-Lin
31分钟前
1
0
大数据全系技术概览

什么是大数据? 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增...

董黎明
50分钟前
12
0
阿里巴巴微服务开源项目盘点(持续更新)

大前端、微服务、数据库、更多精彩,尽在开发者分会场 【Apache Dubbo】 Apache Dubbo 是一款高性能、轻量级的开源Java RPC框架,是国内影响力最大、使用最广泛的开源服务框架之一,它提供了...

阿里云官方博客
50分钟前
1
0
轻松掌握!一文教你用CloudBoot批量安装RancherOS

RancherOS是Rancher Labs设计的小巧、专用的容器操作系统。本文详细介绍了如何使用CloudBoot简单批量安装RancherOS。 作者简介 赵安家,山东顺能网络全栈研发工程师。前端后端通吃,DevOps、...

RancherLabs
今天
2
0
springmvc源码解析MvcNamespaceHandler之视图配置器和跨域配置

说在前面 本次主要介绍springmvc配置解析<mvc:freemarker-configurer/>、<mvc:velocity-configurer/>、 <mvc:cors>。关注“天河聊技术”更多中间件源码解析。 springmvc配置解析 本次介绍Mvc......

天河2018
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部