之前整理过如何搭建一套dubbo环境,但是现在项目都是使用容器来搭建测试的环境,所以需要把dubbo-admin集成到容器中,方便查看项目中使用到的dubbo服务。
1.环境准备
1.1 安装包准备
jdk-8u171-linux-x64.tar.gz
apache-tomcat-8.5.31.tar.gz
dubbo-admin.war
1.2 Docker环境准备
yum install docker-io
使用docker version命令查看是否安装成功,可以看到版本信息。
然后将文件传输到安装好Docker的服务器上。
scp -P 1046 <本地路径> user@ip:<服务器路径>
#举个栗子
scp -P 1046 /Users/Jocelyn/Downloads/apache-tomcat-8.5.31.tar.gz user@10.201.104.XX:/home/appops/dubbo-admin
如果遇到permission deny的情况,可以修改文件的权限
chomd 777 <文件路径>
2.创建Dockfile
FROM registry.docker-cn.com/library/ubuntu:14.04.3
MAINTAINER biubiubiuing
RUN sudo apt-get update && apt-get install -y wget
#把java与tomcat添加到容器中
ADD ./jdk-8u171-linux-x64.tar.gz /usr/local/
ADD ./apache-tomcat-8.5.31.tar.gz /usr/local/
ADD ./dubbo-admin.war /usr/local
#配置java与tomcat环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_171
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.31
ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.31
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#暴露端口
EXPOSE 8089
创建完成后,构建并上传至私有仓库,输入指令
sudo docker build -t <私有仓库>/nop/dubbo-admin .
等待安装成功后,就可以进入镜像了
sudo docker exec -it ${docker-id} /bin/bash
docker的id可以通过指令查看
sudo docker ps
3.配置dubbo
首先进入Tomcat的bin目录,使用以下指令启动Tomcat
./startup.sh
接下来就需要配置dubbo.properties.
Tomcat启动后,之前拷贝进去的dubbo-admin.war会自动解压,进入到 /usr/local/apache-tomcat-8.5.31/webapps/dubbo-admin/WEB-INF下,修改dubbo.properties文件:
vi dubbo.properties
dubbo.registry.address=zookeeper://<服务地址>:2181 #改成zookeeper服务启动的地址
dubbo.admin.root.password=root #root用户密码
dubbo.admin.guest.password=guest #guest用户密码
另外要注意,dubbo-admin 在Tomcat下运行时,webapps/dubbo-admin/WEB-INF可能会出现配置无法生效的情况。查看/webapps/dubbo-admin/WEB-INF/classes/META-INF/spring下的dubbo-admin.xml,发现:
在/${user}/dubbo.properties下面还有一份配置,直接将这一行配置删除,就会默认去读取webapps/dubbo-admin/WEB-INF下的配置了。
由于我的项目中的8080端口被占用,因而修改了Tomcat的conf目录下的server.xml文件,将默认的8080端口更改为8089。然后在浏览器中输入网址,就可以访问啦~