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使用阿里云Docker镜像库加速(修订版)

    这篇文章主要介绍了详解docker使用阿里云Docker镜像库加速(修订版),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Docker探索namespace详解

    Docker探索namespace详解

    以前对docker中的namespace了解甚少,今天在网上查阅相关文章,发现这篇还不错,介绍了namespace资源隔离以及进行namespace api操作的四种方式等内容,这里分享给大家,供参考。
    2017-10-10
  • 使用docker离线部署dify之docker镜像问题及部署过程

    使用docker离线部署dify之docker镜像问题及部署过程

    这篇文章主要给大家介绍了关于使用docker离线部署dify之docker镜像问题及部署过程,通过配置多个镜像源解决了,此外还介绍了如何将Dify镜像转移到离线环境并启动服务,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-04-04
  • 如何修改docker容器中MySQL的用户密码

    如何修改docker容器中MySQL的用户密码

    本文主要介绍了如何修改docker容器中MySQL的用户密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • docker的一些基本指令

    docker的一些基本指令

    这篇文章主要介绍了docker的一些常用操作,帮助大家更好的理解和学习使用docker,感兴趣的朋友可以了解下
    2021-04-04
  • 解决docker镜像(centos系统)中无sudo命令问题

    解决docker镜像(centos系统)中无sudo命令问题

    这篇文章主要介绍了解决docker镜像(centos系统)中无sudo命令问题,具有很好的参考价值,希望对大家有所帮助,
    2023-11-11
  • Dockerfile制作镜像的常用指令详解

    Dockerfile制作镜像的常用指令详解

    这篇文章主要介绍了Dockerfile制作镜像的常用指令,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-02-02
  • docker集群Error response from daemon: rpc error问题

    docker集群Error response from daemon: rpc&

    文章描述了在Docker集群中遇到的错误信息,并提供了解决办法,解决办法包括配置安全组,将Docker Swarm的所有节点IP添加到安全组中
    2025-01-01
  • Dockerfile指令详解

    Dockerfile指令详解

    Dockerfile有十几条命令可用于构建镜像,下文将简略介绍这些命令。希望小伙伴们能够喜欢
    2016-10-10
  • Docker 基础之Dockerfile命令详解

    Docker 基础之Dockerfile命令详解

    这篇文章主要介绍了Docker 基础之Dockerfile命令,本文介绍 Dockerfile 的基本结构及其支持的众多指令,有兴趣的可以了解一下
    2017-04-04

最新评论