Docker安装Apollo多环境-DEV和UAT

13 篇文章 1 订阅
本文档详细介绍了如何在两台服务器192.168.1.10和192.168.1.11上进行Apollo分布式部署,包括数据库安装、配置服务和管理服务的初始化,以及配置修改和门户端设置。关键步骤涉及Docker容器的使用,数据库的初始化,以及Eureka服务URL的配置。最后,部署了Apollo门户并给出了访问地址。
摘要由CSDN通过智能技术生成

参照官网分布式部署指南有相关命令,一个环境一个数据库
以服务器192.168.1.10 192.168.1.11为例,
分别安装docker环境。

一、数据库安装

将数据目录和配置文件映射到本地,新建目录

mkdir -p /data/mysql/{data,conf}

编辑数据库配置,将默认配置文件填入

vi /data/mysql/conf/my.cnf

数据库配置示例

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
symbolic-links=0
!includedir /etc/mysql/conf.d/
default_authentication_plugin= mysql_native_password
default-time-zone = '+8:00'
sql_mode = 'NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES'
lower_case_table_names = 1
max_connections=1000
max_allowed_packet=1G

以下命令分别在两台服务器都执行,其中数据库密码已设置

docker run \
    -p 3306:3306 \
    --privileged=true \
    -e MYSQL_ROOT_PASSWORD=Apollo_123 \
    -v /data/mysql/data:/var/lib/mysql:rw \
    -v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf:rw \
    -v /etc/localtime:/etc/localtime:ro \
    --name mysql \
    --restart=always \
    -d mysql:5.7.37 

数据库安装完毕后,初始化相关数据库,其中apolloconfigdb分别在两台数据库初始,portaldb则在其中一台执行,这里在192.168.1.11执行。
数据库表初始化完毕后,修改Apolloconfigdb中serverconfig表,将eureka.service.url 的value修改对应的IP地址。如http://192.168.1.10:8080/eureka/

二、adminservice和configservice初始化

192.168.1.10 执行

docker run -p 8080:8080 \
    -e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.1.10:3306/ApolloConfigDB?characterEncoding=utf8" \
    -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=Apollo_123 \
    -d -v /tmp/logs:/opt/logs --name apollo-configservice apolloconfig/apollo-configservice
docker run -p 8090:8090 \
    -e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.1.10:3306/ApolloConfigDB?characterEncoding=utf8" \
    -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=Apollo_123 \
    -d -v /tmp/logs:/opt/logs --name apollo-adminservice apolloconfig/apollo-adminservice

192.168.1.11 执行

docker run -p 8080:8080 \
    -e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.1.11:3306/ApolloConfigDB?characterEncoding=utf8" \
    -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=Apollo_123 \
    -d -v /tmp/logs:/opt/logs --name apollo-configservice apolloconfig/apollo-configservice
docker run -p 8090:8090 \
    -e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.1.11:3306/ApolloConfigDB?characterEncoding=utf8" \
    -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=Apollo_123 \
    -d -v /tmp/logs:/opt/logs --name apollo-adminservice apolloconfig/apollo-adminservice

三、更改配置

这点很重要,因为是docker运行,homePageUrl取的IP是docker的IP。这里要做一下修改,改成主机的IP
以configservice 为例,进入容器内

docker exec -it apollo-configservice /bin/bash

ls一下,进入目录。

cd apollo-configservice/scripts

在这里插入图片描述
vi startup.sh 编辑该文件,插入如下内容,然后保存退出。重启docker。图片所示位置

-Deureka.instance.homePageUrl=http://192.168.1.10:8080

在这里插入图片描述

adminservice则 插入如下内容

-Deureka.instance.homePageUrl=http://192.168.1.10:8090

这里是以10服务器为例,其中11服务器也如此操作。IP改成11即可。

四、portal端初始化

这里portal端安装在11上,执行如下命令

docker run -p 8070:8070 \
    -e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.1.11:3306/ApolloPortalDB?characterEncoding=utf8" \
    -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=Apollo_123 \
    -e APOLLO_PORTAL_ENVS=dev,uat \
    -e DEV_META=http://192.168.1.11:8080 -e uat_META=http://192.168.1.10:8080 \
    -d -v /tmp/logs:/opt/logs --name apollo-portal apolloconfig/apollo-portal

访问

192.168.1.11:8070,默认用户名apollo 密码 admin
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值