Docker多步构建生成dubbo-admin镜像

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2018/04/19/docker-multi-step-dubbo-admin/

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

 

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2018/04/19/docker-multi-step-dubbo-admin/

发表评论