用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字

fresh    -  云代码空间

——

java B2B2C 源码 多级分销Springboot多租户电子商城系统 (十一)docker部署

2019-01-30|39阅||

摘要:java B2B2C 源码 多级分销Springboot多租户电子商城系统 (十一)docker部署spring cloud项目

构建eureka-server镜像成功。

同理构建service-hi镜像

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

一、docker简介

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

  • 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电子商务平台源码请加企鹅求求:一零三八七七四六二六 
顶 0踩 0收藏
分享到:
更多
文章评论
    发表评论

    个人资料

    • 昵称: fresh
    • 等级: 中级设计师
    • 积分: 4190
    • 代码: 0 个
    • 文章: 161 篇
    • 随想: 0 条
    • 访问: 3 次
    • 关注

    人气代码

      标签

      java(62)api(2)Spring(35)cache(1)+(3)springmvc(2)mybatis(3)(十)(1)(十一)(1)Cloud(26)Boot(7)源码(7)-(20)项目构建过程(1)关于Spring(2)Cloud的核心特性(1)整合spring(7)cloud云服务架构(5)cloud架构(1)HongHu(1)Cloud云架构(10)登出流程(3)(1)Spring+(1)Commons(1)普通抽象(1)项目过程构建(3)commonserv(1)common-ser(1)commonserv(1)SSO单点登录应用认(1)Cloud分布式微服(1)(1)Eureka(1)分享Spring(3)Cloud大型互联网(1)common-ser(1)SpringClou(1)Cloud--Hon(1)Cloud分布式微服(1)springclou(1)Eureka服务器搭(1)SSO单点登录之OA(1)SSO单点登录之OA(1)Cloud-hong(1)Cloud分布式微服(1)Cloud微服务分布(1)Cloud分布式微服(1)Config客户端使(1)Cloud微服务架构(1)Config环境库(2)Cloud分布式微服(1)Cloud--Hon(1)Cloud分布式微服(1)SSO单点登录之OA(1)SSO单点登录之OA(1)SSO单点登录之OA(1)SSO单点登录之OA(1)根据token获取用(1)commonserv(1)Cloud微服务分布(1)mybatis分布式(1)mybatis分布式(1)mybatis分布式(1)4.2.2以上版本和(1)mybatis分布式(1)mybatis分布式(1)Cloud引导应用程(1)Cloud--Hon(1)Cloud分布式微服(1)Cloud大型互联网(1)Cloud-hong(1)Cloud分布式微服(1)SpringBoot(48)common-ser(1)Cloud分布式微服(1)Cloud企业微服务(1)Cloud自定义引导(1)cloud项目(2)(九)整合sprin(1)commonserv(1)SSO单点登录之OA(1)SSO单点登录之OA(1)(十二)(1)SSO单点登录之OA(1)B2B2C(51)关于SpringCl(1)Cloud构建分布式(1)SpringClou(1)mybatis电子商(1)(九)Java(2)o2o多用户商城(20)(十)Java(1)(十三)java(3)b2b2c多用户商城(6)(十四)Java(2)(十五)Java(1)(十六)Java(1)b2b2c多用户商城(1)SSO单点登录之OA(1)springclou(1)springclou(1)springclou(1)springclou(1)springclou(1)springclou(1)(十七)Java(1)springclou(1)springclou(1)springclou(1)springclou(1)B2B2C多租户电子(1)SpringClou(1)SpringClou(1)项目构建过程(七)(1)(八)Java(1)Config)(6)ssm(15)企业级java(11)shop(15)springclou(1)多用户商城系统源码((1)springclou(1)多用户商城系统源码(6)(十二)java(2)多用户商城系统源码-(3)Sleuth)(1)Springclou(1)分布式、微服务、云架(1)多用户商城系统源码((1)springclou(1)B2B2C多租户电子(1)springclou(1)(三):服务提供与调(1)SpringClou(1)springclou(1)企业云架构commo(1)springclou(1)common-ser(1)springclou(1)commonserv(1)springclou(1)springclou(1)springclou(1)springclou(1)springclou(1)(十一)JAVA(1)b2b2c多用户商城(1)b2b2c多用户商城(1)SSO单点登录之OA(1)springclou(1)springclou(1)配置自动刷新(1)beatlsql(1)多用户商城系统(1)(八)springb(1)多用户商城系统源码((1)b2bc商城系统开源(1)(十)用spring(1)Restdocs创建(1)springboot(1)springboot(1)微服务java_b2(1)(十三)spring(1)springboot(1)(十四)在sprin(1)springclou(1)(二)Spring(1)Boot配置文件详解(3)整合JPA(2)企业分布式微服务云S(1)(五)路由网关(zu(1)b2bc商城系统开源(1)springboot(1)springclou(1)b2b2c多用户商城(1)springclou(1)(九)服务链路追踪((1)b2bc商城系统开源(1)b2b2c多用户商城(1)b2bc商城系统开源(1)Dashboard)(1)springclou(1)b2b2c多用户商城(1)b2bc商城系统开源(1)多用户商城系统源码((1)微服务java_b2(1)b2b2c多用户商城(1)SSO单点登录之OA(1)Springboot(1)Springclou(1)多级分销Spring(1)多级分销Spring(1)(二)java(1)springboot(1)springclou(1)(五)JAVA(1)b2b2c多用户商城(1)Dashboard和(1)(六)企业分布式微服(1)分布式配置中心(Sp(1)Java多用户商城系(1)Java版本多用户B(1)B2B2C源码电子商(1)-(五)路由网关(z(1)Springclou(1)Springboot(1)mybatis电子商(1)b2b2c多用户商城(1)b2bc商城系统开源(1)多用户商城系统源码((1)多用户商城系统(三)(1)SpringBoot(1)高可用的分布式配置中(1)微服务java_b2(1)springclou(1)b2b2c多用户商城(1)springboot(1)b2b2c多用户商城(1)springclou(1)springboot(1)b2b2c多用户商城(1)b2bc商城系统开源(1)(九)服务链路追踪((1)SpringBoot(1)多用户商城系统(八)(1)Springboot(1)springclou(1)springclou(1)多级分销Spring(1)多级分销Spring(1)(十一)docker(1)b2bc商城系统开源(1)springclou(1)b2b2c多用户商城(1)多级分销Spring(1)整合企业架构的技术点(1)springclou(1)springclou(1)b2b2c多用户商城(1)springclou(1)b2b2c多用户商城(1)springclou(1)springclou(1)springclou(1)springclou(1)springclou(1)b2b2c多用户商城(1)springclou(1)b2bc商城系统开源(1)springclou(1)b2b2c多用户商城(1)b2bc商城系统开源(1)b2b2c多用户商城(1)springclou(1)b2bc商城系统开源(1)(四)SpringB(1)多用户商城系统源码((1)微服务java_b2(1)(十)高可用的服务注(1)企业分布式微服务云S(1)(十一)docker(1)

      最新提问

        站长推荐