Docker Deploy CTrip Apollo Autoconfig

docker部署携程apollo服务配置中心:
概念 :

  1. apollo是一个配置发布服务
  2. apollo分为三部分,config,admin,portal
  3. config就是主逻辑
  4. admin是管理逻辑
  5. portal就是前端管理页面

部署方法:

前置条件:安装docker

# 首先创建一个network
docker network create --driver bridge --subnet 192.2.0.0/16 --gateway 192.2.0.1 my-test-net02

# 启动一个mysql服务
sudo docker run -p 3306:3306 --name mysql \
--net my-test-net02 \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

# 配置mysql可以远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY  'root' WITH GRANT OPTION;

# 给mysql初始化一些apollo需要的表

# 安装apoll odocker镜像
docker pull apolloconfig/apollo-configservice
docker pull apolloconfig/apollo-adminservice
docker pull apolloconfig/apollo-portal

# 启动config服务
docker run -itd --net my-test-net02 --restart=always -p 9180:8080  \
    -e SPRING_DATASOURCE_URL="jdbc:mysql://mysql:3306/ApolloConfigDB?characterEncoding=utf8" \
    -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=root \
    -d -v /tmp/logs:/opt/logs --name apollo-configservice apolloconfig/apollo-configservice

# 修改数据库,apolloconfigDB库中 ServerConfig表的 eureka.service.url 值,该值需要为外网环境可以访问到的apolloconfig/apollo-configservice服务

# 启动admin service
docker run -itd --net my-test-net02 --restart=always -p 9181:8090 \
    -e SPRING_DATASOURCE_URL="jdbc:mysql://mysql:3306/ApolloConfigDB?characterEncoding=utf8" \
    -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=root \
    -d -v /tmp/logs:/opt/logs --name apollo-adminservice apolloconfig/apollo-adminservice

# 启动 portal service
docker run -itd --net my-test-net02 --restart=always -p 9182:8070 \
    -e SPRING_DATASOURCE_URL="jdbc:mysql://mysql:3306/ApolloPortalDB?characterEncoding=utf8" \
    -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=root \
    -e APOLLO_PORTAL_ENVS=dev \
    -e DEV_META=http://192.168.200.129:9180/ \
    -d -v /tmp/logs:/opt/logs --name apollo-portal  apolloconfig/apollo-portal

# 这里, DEV_META 也需要是 外网环境可以访问到的apolloconfig/apollo-configservice服务

# 最后,访问 apollo-portal 即可完成搭建

最后还要注意,如果仅仅是上面这样弄,虽然apollo成功启动,但由于docker内网端口映射等原因还是会造成取不到数据。
启动config服务时还需要加上:

-e eureka.instance.home-page-url=http://192.168.200.129:9180 \
手动指定eureka的外网地址端口,这样才能正确的获取。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值