美文网首页
将微服务运行在Docker

将微服务运行在Docker

作者: 张志_koen_zhang | 来源:发表于2018-07-13 15:48 被阅读0次

    使用Dockerfile构建镜像

    以Eureka一章中的两个微服务eureka.registry和eureka.provider.user为例。本节使用的Docker宿主机IP为192.168.159.107。

    第一步,通过mvn clean package命令将两个项目分别打包jar,例如:

    eureka.registry-0.0.1-SNAPSHOT.jar和eureka.provider.user-0.0.1-SNAPSHOT.jar。

    第二步,在Docker的宿主机上创建myDocker/app-registry、myDocker/app-provider两级目录,将两个jar文件上传至对应目录。
    第三步,app-registry下新建文件Dockerfile:
    FROM java:8
    VOLUME /tmp
    ADD eureka.registry-0.0.1-SNAPSHOT.jar app.jar
    RUN bash -c 'touch /app.jar'
    EXPOSE 8761
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
    

    app-provider下新建文件Dockerfile:

    基于哪个镜像
    FROM java:8
    
    将本地文件夹挂载到当前容器
    VOLUME /tmp
    
    复制文件到容器,也可直接写成*ADD eureka.provider.user-0.0.1-SNAPSHOT.jar /app.jar
    ADD eureka.provider.user-0.0.1-SNAPSHOT.jar app.jar
    RUN bash -c 'touch /app.jar'
    
    声明要暴露的端口
    EXPOSE 8881
    
    配置容器启动后执行的命令
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
    
    第四步,构建镜像。命令格式为:

    docker build -t 仓库名称/镜像名称(:标签) Dockerfile的相对位置

    构建eureka.registry的镜像并运行(最后的.表示当前目录):

    docker build -t kolazz:5000/eureka.registry:0.0.1 **.**
    docker run -d -p 8761:8761 kolazz:5000/eureka.registry:0.0.1
    

    稍等一会,访问http://192.168.159.107:8761,发现微服务已正常启动。

    第五步,构建eureka.provider.user的镜像并运行:
    docker build -t kolazz:5000/eureka.provider.user:0.0.1 .
    docker run -d -p 8881:8881 kolazz:5000/eureka.provider.user:0.0.1
    

    稍等一会,访问http://192.168.159.107:8881/user,发现微服务已正常启动。

    相关文章

      网友评论

          本文标题:将微服务运行在Docker

          本文链接:https://www.haomeiwen.com/subject/mcmglftx.html