美文网首页
docker在java项目中的运用

docker在java项目中的运用

作者: 雨中星辰0 | 来源:发表于2018-12-01 08:24 被阅读0次
    作者 时间
    刘权 2018-09-11

    0. 环境准备:

    安装配置好docker运行环境

    • java
    • maven
    • git
    • docker

    1. docker在java项目中的运行。

    1. 在项目下创建一个文件:Dockerfile
    FROM java:7
    COPY target/zeus-wide-api-1.9.jar /opt
    CMD ["java","-jar","/opt/zeus-wide-api-1.9.jar" ]
    

    说明:

    • FROM java:7 : 指定基础镜像为java7
    • COPY target/zeus-wide-api-1.9.jar /opt :将要运行的jar包拷贝到指定目录
    • CMD ["java","-jar","/opt/zeus-wide-api-1.9.jar" ] : 制定jar命令,启动jar包。
    1. 创建镜像:命令行cd到Dockerfile所在目录,执行以下命令:docker build -t zeus:v1 .

    说明:

    • zeus: 是镜像的名称
    • v1: 是镜像的tag
    1. 启动容器:docker run -p 20881:20880 zeus:v1

    说明:

    • -p:指定本机端口和远程端口的映射。
    • zeus: 镜像名称。
    • v1:镜像的tag。

    2. docker在dobbo的java项目中的运行(provider使用docker,consumer不使用docker)。

    1. 在项目下创建一个文件:Dockerfile
    FROM java:7
    COPY target/zeus-wide-api-1.9.jar /opt
    ENV JAVA_OPTS=""
    ENTRYPOINT exec java $JAVA_OPTS -jar /opt/zeus-wide-api-1.9.jar
    

    说明:

    • 由于dubbo需要向zookeeper中注册provider的ip地址,默认情况下,使用的是本机的地址,在这里也就是容器的地址,而在docker中的ip与外部机器网络是不同的,使用docker容器地址会导致consumer无法连接provider。需要通过JAVA_OPTS方式指定provider的向zookeeper注册的地址。
    • 创建镜像:docker build -t dubbotest:v1 . 。
    1. 启动容器:docker run -e DUBBO_IP_TO_REGISTRY=192.168.6.194 -p 20881:20881 dubbotest:v1

    说明:

    • DUBBO_IP_TO_REGISTRY : dubbo向注册中心注册的provider的地址。
    • 更多dubbo在docke中的配置可查看:

    相关文章

      网友评论

          本文标题:docker在java项目中的运用

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