栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker安装apollo

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker安装apollo

Docker安装Apollo
  • Docker安装Mysql
    • 拉取镜像
    • 创建挂载目录
    • 创建配置文件
    • 运行容器
    • 连接测试
  • Docker安装Apollo
    • 拉取镜像
    • 准备配置数据
    • 运行容器
      • 启动config
      • 启动admin
      • 启动portal
    • 运行验证
  • 所遇问题

Docker安装Mysql

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

拉取镜像
docker pull mysql

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

创建挂载目录

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

mkdir -p /opt/mysql/conf
mkdir -p /opt/mysql/data
mkdir -p /opt/mysql/logs
创建配置文件

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

[mysqld]
port=3307
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000
lower_case_table_names = 1
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
运行容器

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

docker run --name mysql -p 3307:3307 -v /opt/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/mysql/data:/var/lib/mysql -v /opt/mysql/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 --restart=always --privileged=true -d mysql

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

连接测试

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

Docker安装Apollo 拉取镜像

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

docker pull apollo-configservice
docker pull apollo-adminservice
docker pull apollo-portal

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

准备配置数据

首先需要apollo配置数据的sql脚本文件。可在apollo的github上获取。
apollo github地址


获取到脚本文件后在Navicat 刚创建的Mysql连接中运行即可。
运行之后修改apolloconfigdb数据库的serverconfig表中的eurekaUrl的值

将Ip地址替换为服务器IP,端口可以修改可以不修改,对应后续启动容器时的端口。

运行容器

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

启动config
docker run -itd --net=apollo_default --restart=always -p 9180:8080  
    -e SPRING_DATASOURCE_URL="jdbc:mysql://IP:3307/apolloconfigdb?characterEncoding=utf8" 
    -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456 
    -d -v /tmp/logs:/opt/logs --name apollo-configservice apollo-configservice

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

启动admin
docker run -itd --net=apollo_default --restart=always -p 9181:8090 
    -e SPRING_DATASOURCE_URL="jdbc:mysql://IP:3307/apolloconfigdb?characterEncoding=utf8" 
    -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456 
    -d -v /tmp/logs:/opt/logs --name apollo-adminservice apollo-adminservice
启动portal
docker run -itd --net=apollo_default --restart=always -p 9182:8070 
    -e SPRING_DATASOURCE_URL="jdbc:mysql://IP:3307/apolloportaldb?characterEncoding=utf8" 
    -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456 
    -e APOLLO_PORTAL_ENVS=dev 
    -e DEV_META=http://IP:9180 
    -d -v /tmp/logs:/opt/logs --name apollo-portal  apollo-portal
运行验证

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

docker ps

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

或者打开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映射左右端口需一致,均为服务器端口

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/964749.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号