docker如何部署spring cloud项目

技术docker如何部署spring cloud项目这篇文章给大家分享的是有关docker如何部署spring cloud项目的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、docker简介

本文是关于docker如何部署spring cloud项目的。我觉得边肖很实用,就和大家分享一下作为参考。让我们跟着边肖看一看。

一、码头工人介绍

Docker是一个开源引擎,可以轻松地为任何应用程序创建一个轻量级、可移植且自给自足的容器。开发者在笔记本里。

经过编译和测试的容器可以批量部署在生产环境中,包括虚拟机(虚拟机)、裸机、OpenStack集群等基础。

应用平台。

Docker通常用于以下场景:

web应用程序的自动打包和发布;

自动化测试和持续集成与发布;

在面向服务的环境中部署和调整数据库或其他后台应用程序;

从头开始编译或扩展现有的OpenShift或Cloud Foundry平台,构建自己的PaaS环境。

Docker的优势

1.简化程序:

Docker允许开发人员将其应用程序和依赖包打包到一个可移植的容器中,然后将它们发布到任何流行的Linux机器上。

实现虚拟化。Docker改变了虚拟化的方式,让开发者可以直接把自己的成果放入Docker进行管理。方便快捷已经是

Docker最大的优势是,在过去,理解springcloud架构需要几天甚至几周的时间。你可以要求更多:3536247259,在

在Docker容器的处理下,只需要几秒钟就可以完成。

2.避免选择恐惧症:

如果你有选择恐惧症,那你还是一个有经验的病人。Docker会帮你收拾行李的!比如Docker镜像;Docker映像包含运行环境和

配置,因此Docker可以简化部署多个应用程序实例的工作。比如Web应用,后台应用,数据库应用,大数据应用比如Hadoop。

集群、消息队列等。都可以打包到镜像部署中。

3.节省开支:

一方面,随着云计算时代的到来,开发者不必为了追求效果而配置昂贵的硬件。Docker改变了高性能必然导致高价格的思维定势。

Docker和云的结合使得云托管得到了更充分的利用。它不仅解决了硬件管理的问题,也改变了虚拟化的方式。

以上文字参考相关文章;此外,请参阅相关教程了解docker的安装和基本使用。

二、准备工作

环境条件:

Linux系统,不建议使用windows

Docker最新版本

jdk 1.8

maven3.0

本文使用的项目来自第一篇文章中的项目。maven用于构建项目,docker-maven-plugin用于构建docker映像。

三、改造工程,打造镜像

改造尤里卡-服务器项目

将插件添加到pom文件:

建设

插件

插件

groupIdorg.springframework.boot/groupId

artifactIdspring-boot-maven-plugin/artifactId

/插件

!- tag:plugin[] -

插件

groupIdcom.spotify/groupId

artifactIddocker-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

docker如何部署spring cloud项目

eureka:
  client:
    serviceUrl:
      defaultZone: http://eureka-server:8761/eureka/ # 这个需要改为eureka-server
server:
  port: 8763
spring:
  application:
    name: service-hi

感谢各位的阅读!关于“docker如何部署spring cloud项目”这篇文章就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/104206.html

(0)

相关推荐

  • 竖心旁一个军念什么,“占”字右边加个竖弯钩念什么

    技术竖心旁一个军念什么,“占”字右边加个竖弯钩念什么读音:jī
    结构:左右结构
    释义:
    占卜问疑:扶~(一种迷信活动竖心旁一个军念什么。亦称“扶箕”)。 详细释义:
    词动:
    通过占卜问吉凶。
    堂上设了乩坛。—

    生活 2021年10月23日
  • Android如何在安卓上实现通用卡证识别

    技术Android如何在安卓上实现通用卡证识别这篇文章主要介绍“Android如何在安卓上实现通用卡证识别”,在日常操作中,相信很多人在Android如何在安卓上实现通用卡证识别问题上存在疑惑,小编查阅了各式资料,整理出

    攻略 2021年11月15日
  • Context-React如何跨组件访问数据

    技术Context-React如何跨组件访问数据这篇文章给大家分享的是有关Context-React如何跨组件访问数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  Context提供了一种

    攻略 2021年12月3日
  • mssql邮件无法初始化(winxp命令启动sql)

    技术当MSSQL无法调用Xp_CmdShell时该怎么办这期内容当中小编将会给大家带来有关当MSSQL无法调用Xp_CmdShell时该怎么办,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收

    攻略 2021年12月14日
  • 效用中内存分配策略的实例分析

    技术Utility中内存分配策略的示例分析这篇文章主要为大家展示了“Utility中内存分配策略的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Utility中内存分

    攻略 2021年12月22日
  • python+appium自动化测试-Android端环境配置

    技术python+appium自动化测试-Android端环境配置 python+appium自动化测试-Android端环境配置一、安装配置JDK
    一、安装环境
    1、本机系统:Windows 10(6

    礼包 2021年11月10日