开发者社区> vesaa> 正文

【微服务从入门到精通】:(二)构建微服务到Docker镜像

简介: 如果单纯得做微服务开发,虽然也可以通过传统得脚本,或者Jinkens工具以脚本的方式进行CI/CD发布,但是相对于Docker镜像来讲,还不是最方便的,所以如果要做CI/CD,最好还是使用Docker镜像来发布。
+关注继续查看

如果单纯得做微服务开发,虽然也可以通过传统得脚本,或者Jinkens工具以脚本的方式进行CI/CD发布,但是相对于Docker镜像来讲,还不是最方便的,所以如果要做CI/CD,最好还是使用Docker镜像来发布。另外对于产品管理,版本控制,新旧版本同时运营,Docker镜像的优势更加明显。

对于开发人员来讲,只用学下Docker的基本使用知识,即可快速的构建Docker镜像,同时利用阿里云的镜像仓库,将微服务代码构建为Docker镜像,将变得极为简单:我们只用一个构建脚本即可完成。

使用标准得Maven构建一个Java微服务项目:

image

并将该项目放入标准Git库,在此我们可以使用阿里云的Git公共库,目前是免费的,非常方便。

可以看到,我们只用增加一个Dockerfile文件即可实现微服务构建为Docker镜像,不需要自己再用传统的Docker命令去Docker环境内编辑,打包镜像,推送到镜像库。也不需要使用SpringCloud的组件通过Pom来构建,这2钟传统的方式都有上手难度,也很容易出错。对于开发人员来讲,业务解耦和简单易用才是王道。

  1. 构建脚本一 Dockerfile_Jenkins

主要是针对使用PipeLine工具的构建:

FROM openjdk:alpine    //使用OpenJDK的镜像母版

RUN mkdir -p /opt/server   //创建工作目录
RUN mkdir -p /opt/logs   //创建日志目录

ENV TZ=Asia/Shanghai   //加入时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

WORKDIR /opt/server   //设定工作目录
ADD ./target /opt/server/    //将微服务Jar包添加到工作目录

RUN ls -ld *
RUN mvn clean install -Dmaven.test.skip  #由外部Jenkins进行构建

CMD ["java","-jar","config-0.0.1-SNAPSHOT.jar"]    //启动命令

2.构建脚本二 Dockerfile_Maven

主要是针对使用Docker构建环境进行构建:

FROM maven:3.5.4-jdk-8   //使用Maven的镜像母版

RUN mkdir -p /opt/server     //创建工作目录
RUN mkdir -p /opt/logs   //创建日志目录

ENV TZ=Asia/Shanghai    //加入时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

WORKDIR /opt/server    //设定工作目录
ADD . /opt/server   //将微服务Jar包添加到工作目录

RUN ls -ld *

RUN mvn package -Dmaven.test.skip   #由Maven进行构建
CMD ["java","-jar","target/config-0.0.1-SNAPSHOT.jar"]    //启动命令

这2个脚本都可以用,如果你使用了阿里云的镜像库,建议使用第二个脚本, 如果使用了自己的Jinkens服务器或第三方Jinkens服务器,建议使用第一个脚本。当然也可以自己增减内容。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Spring Cloud构建微服务架构:分布式配置中心(加密解密)
Spring Cloud构建微服务架构:分布式配置中心(加密解密)
72 0
深源恒际:三证一卡/车牌号/VIN码OCR标准化服务上线阿里云云市场
深源恒际已入驻阿里云云市场,针对三证一卡、车牌号、VIN码的OCR识别服务也已上线阿里云云市场,用户可随时登录体验产品服务。目前,深源恒际已为人保金服旗下的保险科技平台爱保科技和分时租赁领域技术解决方案供应商领航员提供相关服务。
1415 0
使用Docker构建服务
使用Docker构建服务
1260 0
实战 Docker+Kubernetes 微服务容器化(二)-微服务带来的问题及解决方案分析
1 微服务架构带来的问题 2 微服务间如何通讯 2.1 从通讯模式角度考虑 2.2 从通讯协议角度考虑 REST API RPC MQ 最常用的就是 RPC 如何选择 RPC 框架 ...
8506 0
基于ecs搭建node+docker+nginx微服务小型架构
在ecs上使用node创建服务,nginx配置负载均衡,docker进行打包,最终使用docker-compose进行运行
24 0
实战 Docker+Kubernetes 微服务容器化(三)-微服务开发
1 微服务业务分析 thrift 官网 安装 下载 boost 如果報錯error: Bison version 2.5 or higher must be installed on the system! 解決辦法:mac中默認安裝了bison 2.3版本,並配置了路徑在path中。
1199 0
使用dockerfile构建docker镜像
使用dockerfile构建docker镜像例子: 1、最简单的依靠dockerfile构建docker镜像的例子: (1)、准备一个文件,命名为Dockerfile: FROM nginx RUN echo '<h1>最简单例子,依靠Dockerfile 构建docker镜像</h1>' > /usr/share/nginx/html/index.
1311 0
+关注
vesaa
元始天尊座下首席皮皮虾
16
文章
1513
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载