记录部署dubbo服务的时候的关键点
某天领导说有个项目要上线 让你使用docker 进行部署一下
pom.xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.6.0</version>
</dependency>
启动类: @EnableDubboConfiguration
一、项目打包 mvn clean package
二、拿到jar 后编写dockerfile
Dockerfile
vim Dockerfile
FROM jdk-1.8
ENV TZ=Asia/Shanghai
ENV JAVA_OPTS="-Xms512m -Xmx1g -Djava.security.egd=file:/dev/./urandom"
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mkdir -p /你要的空间也就是文件夹
WORKDIR /你要的空间也就是文件夹
EXPOSE 6062
ADD ./xxx.jar ./
CMD java $JAVA_OPTS -jar xxx.jar
三、此时看看配置文件内容
dubbo:
application:
name: dubboname
registry:
#address: zookeeper://IP端口?backup=节点IP端口,节点IP端口
address: zookeeper://IP端口
username: 账号
password: 密码
protocol:
name: dubbo
port: "20881"
四、此时你启动的时候如果只映射了dockerfile 里面的6062 端口
抱歉那你这个服务里面发布的接口没有人可以用 所以你还需要将配置文件中的 20881映射出来 建议容器内外此端口保持一致