Docker如何多步构建生成dubbo-admin镜像详解
2018-04-21 14:41
1111 查看
前言
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容。
Docker是支持多步构建的,对于需要编译源代码的那种构建,多步构建一方面可以获得更小的镜像,另外一方面也不需要手动清理源代码和别的文件了。
有时候本地调试的时候需要起一个dubbo-admin看一下,但是每次都是启动一个tomcat,然后拷贝war,久了也有点麻烦。想从Docker镜像启动一个,但是官方没有提供。网上有不少个人构建的镜像,但是版本有些旧了。索性自己搞一下放在Docker hub。
手动操作比较直接,克隆代码库,然后maven打包出war包,放tomcat运行即可。
多步构建的Dockerfile如下:
FROM maven:3-jdk-8 RUN git clone --depth 1 https://github.com/apache/incubator-dubbo-ops.git /source WORKDIR /source RUN mvn package -f dubbo-admin FROM tomcat:8.0-jre8 RUN rm -rf /usr/local/tomcat/webapps/ COPY --from=0 /source/dubbo-admin/target/*.war /usr/local/tomcat/webapps/ROOT.war EXPOSE 8080
运行的时候提供一下注册中心的环境变量(
dubbo.registry.address)即可。
如果是docker-compose中的写法如下:
version: '3' services: zookeeper: image: zookeeper admin: image: htynkn/dubbo-admin depends_on: - zookeeper ports: - 8080 environment: - dubbo.registry.address=zookeeper://zookeeper:2181
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
您可能感兴趣的文章:
相关文章推荐
- Docker学习笔记(3)-- 如何使用Dockerfile构建镜像
- Docker学习笔记(3)-- 如何使用Dockerfile构建镜像
- 详解Docker如何启动一个Centos镜像
- 详解如何利用docker快速构建MySQL主从复制环境
- 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
- Docker学习笔记(3)-- 如何使用Dockerfile构建镜像
- Docker多步构建更小的Java镜像
- Docker学习笔记-- 如何使用Dockerfile构建镜像
- 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
- 如何使用Dockerfile构建Docker镜像
- Docker学习笔记(3)-- 如何使用Dockerfile构建镜像
- 如何使用Dockerfile构建镜像
- dockerfile构建redis镜像及如何跳过确认交互
- 如何使用Dockerfile构建镜像
- 详解如何使用DockerHub官方的mysql镜像生成容器
- 如何使用Dockerfile构建镜像
- Docker-- 如何使用Dockerfile构建镜像
- 如何删除docker-register镜像及none无效镜像详解
- 如果想从jenkins直接生成docker镜像,并推送到harbor中,最简单的脚本如何实现?
- jenkins构建Docker 镜像实例详解