在银河麒麟系统部署Apollo需用Docker方式(ARM架构必须),先确认aarch64/x86_64架构及V10 SP3版本,配置本地ISO源安装MySQL 5.7,执行apolloportaldb.sql和apolloconfigdb.sql建库,再拉取对应架构镜像启动Config、Admin、Portal三服务。

在银河麒麟操作系统上部署Apollo配置中心,需适配其ARM或x86架构特性、国产化环境依赖及离线/内网限制,不能直接套用Ubuntu通用流程。
确认系统架构与版本兼容性
先执行 uname -m 查看当前CPU架构:返回 aarch64 表示ARM,x86_64 表示Intel/AMD。银河麒麟V10 SP3服务器版对ARM支持已明确覆盖Atlas 800I A2等昇腾平台,但Apollo官方未发布ARM原生构建包,【必须使用Docker方式运行】,否则Java服务启动失败。
运行 cat /etc/os-release | grep VERSION 确认版本号,V10 SP3对应内核4.19+,满足Apollo最低JDK11和MySQL5.7要求。
准备国产化基础环境
银河麒麟服务器版默认使用YUM包管理器,若无外网,需提前搭建本地ISO源:
挂载麒麟服务器ISO镜像:mkdir -p /mnt/kylin-iso && mount -o loop ~/Kylin-Server-V10-SP3-2403-Release-20240426-X86_64.iso /mnt/kylin-iso
创建本地源配置:
tee /etc/yum.repos.d/local-iso.repo <<'EOF'<br>[kylin-iso]<br>name=Kylin Local ISO<br>baseurl=file:///mnt/kylin-iso<br>enabled=1<br>gpgcheck=0<br>priority=1<br>EOF
执行 yum clean all && yum makecache 刷新源缓存。这一步不做,后续安装MySQL或Java会报“no package found”错误。
安装JDK11并配置全局环境
银河麒麟V10 SP3自带OpenJDK 11.0.21,但Apollo要求JDK11 LTS(如11.0.20+),建议手动安装:
从Oracle官网或华为开源镜像站下载 jdk-11.0.22_linux-aarch64_bin.tar.gz(ARM)或 jdk-11.0.22_linux-x64_bin.tar.gz(x86_64)。
解压到 /usr/local/jdk11 并设置环境变量:echo 'export JAVA_HOME=/usr/local/jdk11' >> /etc/profile && echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
【务必执行 source /etc/profile,否则后续Docker容器内Java命令不可用】
验证:java -version 输出应含 11.0.22 且无 not found 提示。
部署MySQL 5.7作为后端存储
方法一:使用麒麟ISO内置RPM包(推荐,免网络依赖)
进入 /mnt/kylin-iso/Packages 目录,查找 mysql-community-server-5.7.*.rpm 及其依赖(common、libs、client)。
按顺序安装:rpm -ivh mysql-community-common-5.7.34-1.ky10.aarch64.rpm → mysql-community-libs-5.7.34-1.ky10.aarch64.rpm → mysql-community-client-5.7.34-1.ky10.aarch64.rpm → mysql-community-server-5.7.34-1.ky10.aarch64.rpm
启动服务:systemctl enable mysqld && systemctl start mysqld
首次启动后,MySQL会生成临时密码,运行 grep 'temporary password' /var/log/mysqld.log 获取,再用 mysql -u root -p 登录并执行 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Apollo@2026';
方法二:若已配置好本地YUM源,直接执行 yum install mysql-community-server -y 更快捷。
初始化Apollo数据库表结构
从Apollo GitHub Release页下载 apollo-2.2.1-github-release.zip(截至2026年6月最新稳定版),解压后进入 scripts/sql 目录。
登录MySQL:mysql -u root -pApollo@2026
依次执行:source apolloportaldb.sql; → source apolloconfigdb.sql;
注意:两个SQL文件必须按此顺序执行,【apolloportaldb.sql必须先于apolloconfigdb.sql,否则Admin Service无法注册】
执行完成后,检查数据库:show databases; 应出现 ApolloPortalDB 和 ApolloConfigDB。
通过Docker启动Apollo核心服务
第一步:安装Docker Engine(麒麟V10 SP3已预装docker-ce-24.0.7,跳过安装;若无,运行 yum install docker-ce -y)
第二步:拉取适配镜像——因官方镜像未提供ARM支持,必须使用社区编译版:docker pull registry.cn-hangzhou.aliyuncs.com/apolloconfig/apollo-configservice:v2.2.1-arm64(ARM)或 docker pull apolloconfig/apollo-configservice:v2.2.1(x86_64)
第三步:启动Config Service(依赖MySQL):docker run -d --name apollo-configservice -p 8080:8080 -e SPRING_DATASOURCE_URL="jdbc:mysql://宿主机IP:3306/ApolloConfigDB?characterEncoding=utf8" -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=Apollo@2026 -e APOLLO_PROFILE=github -e APOLLO_ENV=DEV apolloconfig/apollo-configservice:v2.2.1
第四步:启动Admin Service:docker run -d --name apollo-adminservice -p 8090:8090 -e SPRING_DATASOURCE_URL="jdbc:mysql://宿主机IP:3306/ApolloConfigDB?characterEncoding=utf8" -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=Apollo@2026 -e APOLLO_PROFILE=github -e APOLLO_ENV=DEV apolloconfig/apollo-adminservice:v2.2.1
第五步:启动Portal(需连接MySQL和前两个服务):docker run -d --name apollo-portal -p 8070:8070 -e SPRING_DATASOURCE_URL="jdbc:mysql://宿主机IP:3306/ApolloPortalDB?characterEncoding=utf8" -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=Apollo@2026 -e APOLLO_PROFILE=github -e APOLLO_ENV=DEV -e APOLLO_CONFIGSERVICE_URL=http://宿主机IP:8080 apolloconfig/apollo-portal:v2.2.1

















