千家信息网

基于docker怎么部署surging分布式微服务引擎

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"基于docker怎么部署surging分布式微服务引擎",在日常操作中,相信很多人在基于docker怎么部署surging分布式微服务引擎问题上存在疑惑,小编查阅了各式资料,整理出简
千家信息网最后更新 2026年10月31日基于docker怎么部署surging分布式微服务引擎

这篇文章主要介绍"基于docker怎么部署surging分布式微服务引擎",在日常操作中,相信很多人在基于docker怎么部署surging分布式微服务引擎问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"基于docker怎么部署surging分布式微服务引擎"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

概述

容器,就是用来存放镜像的器皿,而镜像是构建成的一个轻量的、独立的、可执行的包,包括了执行它所需要的所有东西:代码、运行环境、系统工具、系统库、设置。

程序被构建成镜像放到容器中,那么它所依赖的下层环境就不再重要了。它可以在任何地方运行,甚至在混合云环境下也可以。所以为何容器能流行起来, 而容器技术兴起让docke也渐渐的映入大家的眼帘,

那么docker又是什么呢?

  1. docker是基于go语言开发并开源的容器引擎

  2. docker将应用软件运行时所需的一切都打包成互相隔离的容器

  3. docker可以自动执行并配置开发/线上环境,快速构建,测试和运行复杂的多容器应用程序

  4. 对拥有数千个节点或容器的应用程序,docker也能快速的扩展和调配

  5. 可以运行在主流的linux系统,mac以及windows上,并且保证无论软件在哪里部署,都能正常运行并得到相同的结果

相关概念介绍

image镜像和container容器:你可以把两者理解为类和实例对象,或者是iso系统镜像和虚拟机的关系。不同的image所包含的软件或者环境是不同的,但是你可以使用dockerfile(docker特有语法规则所创建的文件)进行管理。而container则是以image作为模板,可以独立运行的微型系统,一个image可以创建出来多个container容器的实例

registry:docker hub镜像仓库,为每个人提供庞大的镜像资源进行拉取和使用

dockerfile:是一个将镜像命令组合在一起的文件,用于image的自动构建

环境搭建

系统环境

宿主机:windows 10 专业版

linux服务器: centos 3.10

1.安装docker

docker 要求 centos 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的centos 版本是否支持 docker 。

通过 uname -r 命令查看你当前的内核版本

[root@runoob ~]# uname -r 3.10.0-862.e17.x86_64

# yum install docker-engine 安装docker包

安装成功后,使用docker version命令查看是否安装成功,安装成功后------如下图

启动 docker

systemctl start docker

查看docker信息,如下图

systemctl status docker

测试运行 hello-world

#docker run hello-world

2.安装rancher

下载镜像

docker pull rancher/server

启动 rancher

docker run -d --restart=always -p 8080:8080 rancher/server

安装成功后,通过http://ip:8080访问,如下图所示

3.安装rabbitmq

下载镜像

docker run -d --restart=always -p 8080:8080 rancher/server

复制代码 代码如下:


#docker run -d --name rabbitmq --publish 5672:5672 --publish 4369:4369 --publish 25672:25672 --publish 15671:15671 --publish 15672:15672 \rabbitmq:management

安装成功后,通过http://ip:15672访问,如下图所示

4.安装consul

下载镜像

#docker pull docker.io/consul:latest

创建 consul 配置

#vim /opt/platform/consul/server.json
{  "datacenter": "quark-consul",  "data_dir": "/consul/data",  "server": true,  "ui": true,  "bind_addr": "192.168.249.162",  "client_addr": "192.168.249.162",  "bootstrap_expect": 1,  "retry_interval": "10s",  "rejoin_after_leave": false,  "skip_leave_on_interrupt": true}

配置说明

官方在启动容器的时候是将一部分配置作为 docker run 的参数,而我是把参数写到了配置文件里。

  1. datacenter:数据中心名称(库名)

  2. data_dir:数据存储目录

  3. server:运行在server模式

  4. ui:使用ui界面

  5. bind_addr:内部集群通信绑定的地址。默认是 0.0.0.0 ,如果有多块网卡,需要指定,否则启动报错

  6. client_addr:客户端接口绑定的地址,默认是 127.0.0.1 ;

  7. retry_join:重新加入集群

  8. retry_interval:重试时间

  9. rejoin_after_leave:在离开集群之后才重试加入

  10. skip_leave_on_interrupt:在启动后,是否 ctrl+c 优雅退出,我们是容器模式,所以不用管,直接 true 就好了。

启动 consul-server

复制代码 代码如下:

docker run -d --net=host --name consul -v /opt/platform/consul/config:/consul/config -v /opt/platform/consul/data:/consul/data consul agent

安装成功后,通过http://ip:8500访问,如下图所示

5. 安装dotnetcore 2.1 runtime

下载镜像

#sudo docker pull microsoft/dotnet:2.1-runtime

启动

#sudo docker run -it microsoft/dotnet:2.1-runtime

部署程序

1. 部署surging引擎,无需引用任何业务模块,新建dockerfile文件

from microsoft/dotnet:2.1-runtimeworkdir /appcopy . .entrypoint ["dotnet", "surging.services.server.dll"]

发布程序

dotnet publish -r centos.7-x64 -c release

使用dockerfile创建镜像

#docker build -t surgingserver .

启动

#docker run --name surgingserver --env mapping_ip=192.168.249.162 --env mapping_port=198 --env rootpath=/home/fanly --env register_conn=192.168.249.162:8500 --env eventbusconnection=172.17.0.4 --env surging_server_ip=0.0.0.0 -v /home/fanly:/home/fanly -it -p 198:198 surgingserver

配置说明

  1. mapping_ip:映射的外部ip(环境变量)

  2. mapping_port :映射的外部端口 (环境变量)

  3. rootpath:业务模块存储的根路径 (环境变量)

  4. register_conn:注册中心地址 (环境变量)

  5. eventbusconnection:eventbus 地址 (环境变量)

  6. surging_server_ip:容器内部ip (环境变量)

启动后在rancher如下图所示

因为方便,把宿主机的目录进行了挂载,microsurging 为分布式微服务引擎,modules 为业务模块目录,surgingapi为网关

2. 部署surging网关, 新建dockerfile文件

from microsoft/dotnet:2.1-runtimeworkdir /appcopy . .entrypoint ["dotnet", "surging.apigateway.dll"]

发布程序

dotnet publish -r centos.7-x64 -c release

使用dockerfile创建镜像

docker build -t surgingapi .

启动

复制代码 代码如下:

#docker run --name surgingapi -it -p 729:729 --env register_conn=192.168.249.162:8500 surgingapi

启动后在rancher如下图所示

可以通过http://ip:729进行访问

然后可以通过postman 来测试网关,如下图

到此,关于"基于docker怎么部署surging分布式微服务引擎"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

容器 环境 镜像 运行 引擎 代码 系统 服务 成功 变量 程序 配置 文件 地址 学习 业务 命令 模块 版本 目录 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 新华互联网科技 中国互联网科技工作委员会毛军 厦门中拓互联网络科技有限公司 互联网是不是新科技 互联网科技战争 没上市的科技互联网公司 互联网金融与金融科技 互联网科技创新企业排名 中国最先进互联网科技公司 全球顶尖互联网科技公司 互联网公司科技股 河南猎农互联网科技有限公司 中国互联网十大科技股排名 本届互联网博览会上的黑科技 厦门江牛科技互联网 互联网硬科技公司 福建互联网展示科技馆设计 互联网科技企业商标注意事项 互联网科技大佬云集 株洲百竞科技的互联网营销顾问 互联网 的科技创新 易通互联网络科技有限公司 北京禾田雨橡互联网科技 深圳期待互联网科技 南山科技园互联网公司有哪些 语蝶互联网科技有限公司 链环科技传统企业怎么转型互联网 领航科技大厦互联网公司 数字科技和互联网金融哪个好 上海旺乐尼互联网科技有限公司
0