一切福田,不離方寸,從心而覓,感無不通。

Docker安装Apollo

Docker安装Mysql

使用Docker安装Mysql是比较方便的,最简单的只需一句命令即可完成。但如需安装且配置好则需要准备一点前期工作

拉取镜像

 

使用命令拉取mysql的镜像包,如需指定版本添加接口,不指定默认latest。

创建挂载目录

拉取镜像后建议将配置文件,数据,日志挂载出来。方便后续修改配置或排查问题。

 

创建配置文件

创建完挂载目录后在 /opt/mysql/conf目录下创建my.cnf文件,文件内容即为Mysql配置文件内容。

 

运行容器

挂载目录与配置文件准备好后,即可使用命令运行Mysql容器,使用-v将挂载目录、配置文件映射好。

 

如果配置文件中未设置port端口,则-p则需要为3306:3306

连接测试

使用Navicat创建连接测试即可。账号为root,密码为启动容器时设置的。端口为配置文件中设置的,如未设置端口则为默认3306端口。

Docker安装Apollo

拉取镜像

Docker安装Apollo首先需要拉取apollo所需要的镜像包,apollo所需的镜像包有三个。分别是apollo-configservice、apollo-adminservice、apollo-portal。

 

与上述安装Mysql一致,如不指定版本则默认latest

准备配置数据

首先需要apollo配置数据的sql脚本文件。可在apollo的github上获取。
https://github.com/apolloconfig/apollo/tree/master/scripts/sql

apollo配置数据sql脚本
获取到脚本文件后在Navicat 刚创建的Mysql连接中运行即可。
运行之后修改apolloconfigdb数据库的serverconfig表中的eurekaUrl的值
注意:如果是docker desktop部署,要修改为宿主机的内网IP
修改eurekaUrl的值
将Ip地址替换为服务器IP,端口可以修改可以不修改,对应后续启动容器时的端口。

运行容器

因为apollo拉取了三个镜像包,所以自然需要运行三个容器。且运行容器的顺序建议先是config,再是admin,最后才是portal

启动config

 

其中 IP需要替换为对应的IP,–net 需要选择一个存在的bridge类型的网络。可创建,以下启动apollo其他容器相同适用。

启动admin

 

启动portal

 

运行验证

启动成功后可使用命令查看容器状态

 

或者查看日志,因为上述命令将日志挂载出来了,所以再挂载目录地址下可查看日志信息。

或者打开http://Ip:9182/
查看是否能打开apollo页面
在这里插入图片描述
apollo默认账号密码为 apollo 与 admin

所遇问题

如果mysql密码使用了特殊字符,则会出现pid – just quit unexpectedly, please check logs under /opt/logs/100003171 and /tmp 报错

如果mysql设置了大小写敏感,则可能出现Table ApolloConfigdb not exists报错。

如果使用的–net 属性为host 的网络,则可能出现无法连接到eureka地址

并且如果使用的为 host属性的网络,-p映射左右端口需一致,均为服务器端口

 

from:https://blog.csdn.net/DOCUVIX/article/details/125151290