本机访问CentOS7虚拟机Docker中的Apollo配置中心

    科技2024-06-11  72

    一、Docker中安装Apollo配置中心

    1,现在centOS7中安装git

    yum install -y git

    2,克隆apollo项目

    git clone https://github.com/ctripcorp/apollo.git

    3,执行镜像,在docker-quick-start目录下有docker-compose文件

    docker-compose up若未安装docker-compose可以参考第二章

    4,内置数据库,端口13306,root密码为空 5,开放端口,注意要开放13306端口,后面连数据库需要用到 apollo一共使用了8070 8080 8090三个端口,8070是portal使用的,需要放开防火墙

    firewall-cmd --zone=public --add-port=8070/tcp --permanent firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --zone=public --add-port=8090/tcp --permanent firewall-cmd --zone=public --add-port=13306/tcp --permanent firewall-cmd --reload firewall-cmd --zone=public --list-ports 查看端口开放情况 systemctl stop firewalld.service关闭防火墙

    二、docker-compose安装

    1,下载

    sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    2,赋权

    sudo chmod +x /usr/local/bin/docker-compose

    3,软连接

    ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

    4,查看

    docker-compose --version

    其他功能可以直接输入docker-compose查看提示,如kill、rm、restart等。

    三、配置外部访问docker里的apollo配置

    1,原理可以参见博客

    https://www.cnblogs.com/zklight/p/12974872.html

    2,进入apollo-quick-start的对应目录,修改文件docker-compose。添加配置 在container_name: apollo-quick-start后面添加配置,注意格式

    environment: EUREKA_INSTANCE_IP_ADDRESS: '192.168.0.151'

    在ports:后面添加配置,注意对齐

    - "8090:8090"

    在- ./sql:/docker-entrypoint-initdb.d后面添加配置,注意对齐

    - ./data:/var/lib/mysql

    3,修改数据库配置 将ApolloConfigDB库ServerConfig表的Key=eureka.service.url项的Value改为http://【宿主机IP】:8080/eureka/ 将ApolloPortalDB库ServerConfig表中Key=apollo.portal.meta.servers项的value改为{"DEV":"http://【宿主机IP】:8080"} ps:推荐使用DataGrip2020.2,连接各种类型数据库方便

    四、本地环境使用apollo配置

    1,本地项目使用的是Gradle6.3+springBoot2.3.4.RELEASE+Mybatis。需要添加apollo的启动项依赖和apollo客户端 //apollo使用

    implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:2.2.5.RELEASE' implementation 'com.ctrip.framework.apollo:apollo-client:1.0.0'

    2,在启动文件XXXApplication上添加注解启用服务发现及apollo配置

    @EnableDiscoveryClient @EnableApolloConfig //@SpringBootApplication public class XXXApplication { }

    3,在resources文件夹下,需要新建META-INF文件下,该文件夹下新建app.properties。输入以下配置

    #resources/META-INF/app.properties文件。默认配置读取位置 app.id=SampleApp apollo.cacheDir=/opt/data/apollo-config apollo.meta=http://192.168.0.155:8080#注意是服务注册的主机,就是docker宿主机 apollo.bootstrap.enabled=true apollo.bootstrap.eagerLoad.enabled=true

    4,初次安装默认有配置timeout=100。可以按照以下案例获取,更过使用方式可搜索csdn博客。

    Config config = ConfigService.getAppConfig(); String key = "timeout"; String defaultValue = "1"; String value = config.getProperty(key,defaultValue);#100
    Processed: 0.024, SQL: 8