docker单机安装Higress的踩坑及解决方式

 更新时间:2026年03月10日 09:59:48   作者:靴子学长  
本文详细介绍了如何在Docker单机上安装Higress,并分享了在安装过程中遇到的问题及解决方法,Higress是一个集成了流量网关、微服务网关和安全网关的高集成网关,在安装过程中,作者遇到了无法访问的问题,并通过卸载和重装Docker及相关文件解决了问题

docker单机安装Higress(踩坑+解决)

Higress希望通过内置Waf模块,使得用户的请求链接只经过Higress就可以同时完成Waf防护、流量分发、微服务治理,既可以降低链路RT,也可以降低网关的运维复杂度。因此Higress实现了流量网关 + 微服务网关 + 安全网关三合一的高集成能力。

安装docker(更换镜像索引)

# 卸载Docker
yum remove docker \
          docker-client \
          docker-client-latest \
          docker-common \
          docker-latest \
          docker-latest-logrotate \
          docker-logrotate \
          docker-selinux \
          docker-engine-selinux \
          docker-engine \
          docker-ce
     
# 安装yum工具包
yum install -y yum-utils \
      device-mapper-peyrsistent-data \
      lvm2 --skip-broken
      
# 更新本地镜像源
# 设置docker镜像源
yum-config-manager \
  --add-repo \
   https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
# 将软件包信息提前在本地索引缓存,用来提高搜索安装软件的速度,建议执行这个命令可以提升yum安装的速度。
yum makecache fast


# 安装docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y


# 启动docker
systemctl start docker


# 设置docker自启动
systemctl enable docker


# 测试docker是否安装成功
docker version	

安装命令

curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- [DESTINATION] [OPTIONS...]
curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -a -c nacos://192.168.66.100:8848

Standalone 模式没有大规模生产使用过,目前主要用于本地部署测试的场景,如果生产部署更建议云原生模式部署

安装参数

参数名参数说明默认值
DESTINATION目标安装目录./higress
-a --auto-run配置完成后自动启动 Higress 网关
-c CONFIG_URL --config-url CONFIG_URL配置服务的 URL。 - 若使用独立部署的 Nacos 服务(版本不低于 2.0.0),URL 格式为:nacos://192.168.0.1:8848 - 若在本地磁盘上保存配置,URL 格式为:file://opt/higress/conf
–use-builtin-nacos使用内置的 Nacos 服务。不建议用于生产环境。如果设置本参数,则无需设置-c参数
–nacos-ns=NACOS_NAMESPACE用于保存 Higress 配置的 Nacos 命名空间 IDhigress-system
–nacos-username=NACOS_USERNAME用于访问 Nacos 的用户名。仅用于 Nacos 启动了认证的情况下
–nacos-password=NACOS_PASSWORD用于访问 Nacos 的用户密码。仅用于 Nacos 启动了认证的情况下
-k KEY --data-enc-key=KEY用于加密敏感配置数据的密钥。长度必须为 32 个字符。若未设置,Higress 将自动生成一个随机的密钥。若需集群部署,此项必须设置随机字符串
–nacos-port=NACOS_PORT内置 NACOS 服务在服务器本地监听的端口8848
–gateway-http-port=GATEWAY_HTTP_PORTHigress Gateway 在服务器本地监听的 HTTP 端口80
–gateway-https-port=GATEWAY_HTTPS_PORTHigress Gateway 在服务器本地监听的 HTTPS 端口443
–gateway-metrics-port=GATEWAY_METRIC_PORTHigress Gateway 在服务器本地监听的用于暴露运行指标端口15020
–console-port=CONSOLE_PORTHigress Console 在服务器本地监听的端口8080
-r --rerun在 Higress 已配置完成后重新执行配置流程
-h --help显示帮助信息

解决配置成功无法访问的问题

遇到了无法访问的问题;

  • 端口号正常监听

  • 查看日志发现有错

docker logs higress-console-1

2024-04-15 09:45:47.655 ERROR 7 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'SystemController': Invocation of init method failed; nested exception is com.alibaba.higress.sdk.exception.BusinessException: Error occurs when updating ConfigMap.
  • 查看docker 容器

解决

去 /root/higress/bin/ 目录下 reset

仍然无法正常访问

卸载并重装docker后正常访问

配置域名后无法通过域名访问广告服务

解决

彻底卸载重新安装

1.删除所有容器:

docker rm $(docker ps -a -q) -f

这条命令会强制删除所有的Docker容器,无论其运行状态如何。

2.删除所有镜像:

docker rmi $(docker images -q) -f

这条命令会删除所有的Docker镜像。

3.删除与higress相关的文件

可以使用find命令来搜索并删除这些文件:这条命令会在整个系统中搜索文件或文件夹名包含“higress”的所有项,并将其删除。

find / -name '*higress*' -exec rm -rf {} +

记住 cd 到 /usr/local 目录下 执行下面操作进行安装

curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -a -c nacos://192.168.66.100:8848

官网样例测试成功

不是哥们儿 你是真不稳定啊……弄的我docker有问题+MQ也起不起来了

感觉这样部署的话还是有问题,考虑把数据库迁移到linux里;

思考了一下还是觉得应该是官网推出的docker这个版本本身就是个测试版不稳定的原因

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker 镜像国内加速的方法汇总(收藏版)

    Docker 镜像国内加速的方法汇总(收藏版)

    本文介绍了在国内使用Docker时遇到的加速和优化方法,针对国内下载速度慢和断线问题,可以使用国内可用的DockerRegistryMirrors或自建DockerRegistryMirror/Proxy,针对没有公共镜像库账号导致的限流问题,可以注册各个镜像库账号并登录,感兴趣的朋友跟随小编一起看看吧
    2025-01-01
  • docker 跨平台构建镜像的示例详解

    docker 跨平台构建镜像的示例详解

    这篇文章主要介绍了docker跨平台构建镜像的案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • Docker中mysql镜像保存与导入的方法详解

    Docker中mysql镜像保存与导入的方法详解

    Docker 的 MySQL 镜像保存通常有两种场景:一种是保存镜像本身的修改(如配置、初始化数据),另一种是持久化保存容器运行时产生的数据(如数据库表、用户数据),这篇文章主要介绍了Docker中mysql镜像保存与导入的方法详解,需要的朋友可以参考下
    2025-05-05
  • 云centos开启docker远程服务链接的实现步骤

    云centos开启docker远程服务链接的实现步骤

    本文主要介绍了云centos开启docker远程服务链接,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • docker安装minio功能不全问题解决方法

    docker安装minio功能不全问题解决方法

    这篇文章主要介绍了docker安装minio功能不全问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-06-06
  • docker-compose安装redis过程-主从+哨兵(3台虚拟机一主两从)

    docker-compose安装redis过程-主从+哨兵(3台虚拟机一主两从)

    文章介绍了使用Docker部署Redis主从架构及哨兵监控的全过程,包括部署架构、配置文件准备、Docker-Compose文件编写、部署步骤以及测试主从复制和故障转移功能
    2026-04-04
  • 从Docker容器复制文件到主机的四种方法

    从Docker容器复制文件到主机的四种方法

    在使用Docker进行开发和部署时,有时需要将容器内生成的构建工件复制到主机上,例如,在持续集成服务器上使用Docker构建依赖项,而不希望在代理服务器上安装所有运行时和库,所以本文给大家介绍了从Docker容器复制文件到主机的四种方法
    2025-06-06
  • 详解利用nginx和docker实现一个简易的负载均衡

    详解利用nginx和docker实现一个简易的负载均衡

    本篇文章主要介绍了利用nginx和docker实现一个简易的负载均衡 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Docker存储空间清理以及另外的一些命令

    Docker存储空间清理以及另外的一些命令

    大家在使用一段时间的docker容器后,会发现堆叠了很多无用的垃圾文件,比如,终止的容器、限定不要的镜像,混乱的存储等,这篇文章主要介绍了Docker存储空间清理以及另外的一些命令的相关资料,需要的朋友可以参考下
    2024-03-03
  • Docker 容器操作指令汇总详解

    Docker 容器操作指令汇总详解

    这篇文章主要介绍了Docker 容器操作指令汇总详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10

最新评论