记快乐符号:
    记录部署dubbo服务的时候的关键点
    某天领导说有个项目要上线 让你使用docker 进行部署一下
    pom.xml

    1. <dependency>
    2. <groupId>com.alibaba</groupId>
    3. <artifactId>dubbo</artifactId>
    4. <version>2.6.0</version>
    5. </dependency>
    6. 启动类: @EnableDubboConfiguration

    一、项目打包 mvn clean package
    二、拿到jar 后编写dockerfile
    Dockerfile
    vim Dockerfile

    1. FROM jdk-1.8
    2. ENV TZ=Asia/Shanghai
    3. ENV JAVA_OPTS="-Xms512m -Xmx1g -Djava.security.egd=file:/dev/./urandom"
    4. RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    5. RUN mkdir -p /你要的空间也就是文件夹
    6. WORKDIR /你要的空间也就是文件夹
    7. EXPOSE 6062
    8. ADD ./xxx.jar ./
    9. CMD java $JAVA_OPTS -jar xxx.jar

    三、此时看看配置文件内容

    1. dubbo:
    2. application:
    3. name: dubboname
    4. registry:
    5. #address: zookeeper://IP端口?backup=节点IP端口,节点IP端口
    6. address: zookeeper://IP端口
    7. username: 账号
    8. password: 密码
    9. protocol:
    10. name: dubbo
    11. port: "20881"

    四、此时你启动的时候如果只映射了dockerfile 里面的6062 端口
    抱歉那你这个服务里面发布的接口没有人可以用 所以你还需要将配置文件中的 20881映射出来 建议容器内外此端口保持一致