微服务框架(七)Docker容器部署(Dubbo、Zookeeper、Dubbo-admin)

此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。
  本文为Docker容器部署,包括Dubbo微服务、Zookeeper、Dubbo-admin的部署

本系列文章中所使用的框架版本为Spring Boot 2.0.3-RELEASE,Spring 5.0.7-RELEASE,Dubbo 2.6.2。

Docker容器启动参数

运行参数说明:

  • -d: 后台运行容器,并返回容器ID
  • -i: 以交互模式运行容器,通常与-t同时使用
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
  • --name: 为容器指定一个名称
  • -e: 设置环境变量
  • --env-file: 从指定文件读取环境变量
  • -p: 端口映射,如果不做端口映射,容器外部无法访问容器内部
  • -v: 文件挂载
  • --link: 添加链接到容器,在default网络下,默认不会将容器名称解析到容器IP地址,必须要添加link选项才可以。而在自定义网络下,则不需要添加此选项

更多选项可以查看docker文档

Docker容器部署

网络接口及数据卷

 # 创建网络接口
sudo docker network create zookeeper
sudo docker network create dubbo

 # volumn创建,用来持久化数据
sudo docker volume create background
sudo docker volume create dubbo

Zookeeper

 # zookeeper注册中心
sudo docker run -d \
	--name zookeeper \
	--net zookeeper \
	--net dubbo \
	-v background:/var/lib/zookeeper/data \
	-p 2181:2181 \
	-p 2888:2888 \
	-p 3888:3888 \
	--restart=always \
	jplock/zookeeper:3.4.11

dubbo-admin

 # dubbo-admin管理中心
docker run -d \
	--name dubbo-admin \
	--net zookeeper \
	-v background:/data \
	-p 9600:8080 \
	-e DUBBO_REGISTRY="zookeeper:\/\/ip:port" \
	-e DUBBO_ROOT_PASSWORD=root \
	-e DUBBO_GUEST_PASSWORD=guest \
	--restart=always \
	riveryang/dubbo-admin

dubbo-monitor

 # dubbo-monitor监控中心
docker run -d \
	--name dubbo-monitor \
	--net zookeeper \
	-v background:/dubbo-monitor/data \
	-e DUBBO_IP_TO_REGISTRY=ip \
	-e DUBBO_PORT_TO_REGISTRY=9700 \
	-p <ip>:9700:9700 \
	-p 9601:9601 \
	--restart=always \
	jeromefromcn/dubbo-monitor

Dubbo微服务

 # Dubbo微服务
docker run -d \
	--name <containerName> \
	--net dubbo \
	-e DUBBO_IP_TO_REGISTRY=<ip> \
	-e DUBBO_PORT_TO_REGISTRY=<port> \
	-p <ip>:<port>:<port> \
	-v dubbo:/log \
	--restart=always \
	<imageName> \
	--spring.profiles.active=<env>

Docker常用命令

这里写图片描述

命令里使用${CONTAINER_ID}${CONTAINER_NAME}均可

查看容器状态

docker ps | grep ${CONTAINER_ID}

查看容器日志

docker logs ${CONTAINER_ID}

交互式进入容器中

docker exec -i -t ${CONTAINER_ID} sh

查看容器底层信息

docker inspect ${CONTAINER_ID}

镜像打包

docker commit -m "message" -a  "author" ${CONTAINER_ID}  ${NEW_IMAGE_NAME}

标签

docker tag ${IMAGE_TAG}  ${NEW_IMAGE_TAG}

推送至对应仓库

docker push ${REGISTRY_URL}/${IMAGE_NAME}

删除所有退出的容器

docker rm $(docker ps -a | grep Exit | awk '{ print $1 }')

删除所有名称为none的镜像

docker images | grep none | awk '{print $3} ' | xargs docker rmi

参考资料:

  1. 《容器与容器云》
  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 要安装dubbo-admin,需要先安装Docker。然后,可以通过以下步骤安装dubbo-admin: 1. 下载dubbo-adminDocker镜像: ``` docker pull apache/dubbo-admin ``` 2. 运行dubbo-admin容器: ``` docker run -d -p 8080:8080 apache/dubbo-admin ``` 3. 访问dubbo-admin的Web界面: 在浏览器中输入http://localhost:8080即可访问dubbo-admin的Web界面。 注意:在运行dubbo-admin容器之前,需要确保已经启动了ZookeeperDubbo服务提供者。 ### 回答2: Docker安装Dubbo-Admin Docker是一种容器化技术,可以在其上运行多个独立的应用,它的一个优势是可以快速部署和升级应用。Dubbo是一种用于分布式应用的高性能RPC框架Dubbo-AdminDubbo的管理控制台,用于监控Dubbo服务的运行情况。下面将介绍如何在Docker上安装Dubbo-Admin。 一、准备Dubbo-Admin的镜像 首先,下载并编译Dubbo-Admin源代码 git clone git://github.com/apache/incubator-dubbo-ops.git cd incubator-dubbo-ops mvn clean install -Dmaven.test.skip=true 编译成功后,在incubator-dubbo-ops\dubbo-admin\target目录下生成dubbo-admin-x.x.x-SNAPSHOT.jar文件。 然后,使用Docker-File创建Dubbo-Admin的镜像 FROM java:8 MAINTAINER Wu Sheng "wusheng@apache.org" ADD dubbo-admin-x.x.x-SNAPSHOT.jar /dubbo-admin.jar EXPOSE 8080 CMD [ "java", "-jar", "/dubbo-admin.jar", "--server.port=8080", "--dubbo.registry.address=zookeeper://localhost:2181" ] 将上面的x.x.x替换成实际的版本号,保存为Dockerfile。 二、构建Dubbo-Admin的镜像 在Dockerfile的目录下,执行以下命令 docker build -t dubbo-admin . 其中,dubbo-admin是镜像名,"."表示从当前目录加载Dockerfile。 三、启动Dubbo-Admin容器 运行以下命令启动Dubbo-Admin容器 docker run -p 8080:8080 --name dubbo-admin --link zookeeper:zk dubbo-admin 其中,8080是Dubbo-Admin的端口号,zookeeperZookeeper容器名。 四、访问Dubbo-Admin 在浏览器中输入http://localhost:8080,可以看到Dubbo-Admin的控制台界面。 总结: 通过以上步骤,我们可以在Docker上安装并运行Dubbo-Admin,实现对Dubbo服务进行监控和管理。Docker可以大大简化部署和维护Dubbo-Admin的过程,增加了应用的可靠性和安全性。 ### 回答3: Docker是一个应用程序容器化引擎,用于将应用程序打包成一个完整的文件系统,包括代码、运行时、系统工具、库和设置,从而实现跨平台的应用程序开发和运行。Dubbo-adminDubbo分布式服务框架提供的管理控制台,用于提供Dubbo服务的注册、订阅和管理。在Docker中安装Dubbo-admin的过程如下: 1. 在Docker中安装Dubbo-admin需要先安装Dubbo,首先在Docker中安装DubboZookeeper组件。 2. 执行以下命令在Docker中安装Zookeeper: ```bash docker run -d --name zookeeper -p 2181:2181 zookeeper ``` 3. 然后在Docker中安装Dubbo-admin组件,可以从Github上下载Dubbo-admin的源代码:https://github.com/apache/dubbo-admin 。 4. 克隆Dubbo-admin源代码至本地: ```bash git clone https://github.com/apache/dubbo-admin.git ``` 5. 进入Dubbo-admin源码目录,使用maven编译和打包: ```bash cd dubbo-admin mvn clean package -Dmaven.test.skip=true ``` 6. 编译完成后,在target目录下会生成一个dubbo-admin.war文件。 7. 启动Dubbo-admin服务,执行以下命令: ```bash java -jar dubbo-admin.war --server.port=8080 --dubbo.registry.address=zookeeper://127.0.0.1:2181 ``` 8. 最后,在浏览器中输入http://localhost:8080访问Dubbo-admin控制台,即可使用Dubbo-admin管理Dubbo服务。 以上就是在Docker中安装Dubbo-admin的步骤,需要注意,安装之前需要在Docker中先安装Zookeeper组件。安装完成后,可以使用Dubbo-admin方便地管理Dubbo分布式服务框架
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值