首页 > 其他分享 >Apollo注册中心docker-compose版本

Apollo注册中心docker-compose版本

时间:2024-03-30 09:58:38浏览次数:21  
标签:compose Apollo ce yum mysql docker apollo

1、安装docker-ce

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start

# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
#   将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
#   Loading mirror speeds from cached hostfile
#   Loaded plugins: branch, fastestmirror, langpacks
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
#   Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]

2、安装docker-compose

docker-compose下载链接

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

将可执行权限应用于二进制文件:

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

创建软链:

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

$ docker-compose -v
Docker Compose version v2.2.2

3、编写docker-compose-apollo.yml

2.0以上版本的apollo有配置导出和导入功能,且在mysql 5.7和8.0导入的库和表有大小写的区分,在前期选型时就需要定位好。建议使用最新的版本,方便做配置的导入导出,否则一个个配,真的累!!!!

$ vim docker-compose-apollo.yml
version: "3"

services:
  apollo-configservice:
    container_name: apollo-configservice
    #image: apolloconfig/apollo-configservice:2.2.0
    image: apolloconfig/apollo-configservice:1.8.2
    restart: always
    ports:
      - "8080:8080"
    volumes:
      - "/opt/logs/100003171:/opt/logs/100003171"
    environment:
      - TZ='Asia/Shanghai'
      - SERVER_PORT=8080
      - EUREKA_INSTANCE_IP_ADDRESS=10.64.143.41
      - EUREKA_INSTANCE_HOME_PAGE_URL=http://10.64.143.41:8080
      - SPRING_DATASOURCE_URL=jdbc:mysql://10.64.143.41:3306/apolloconfigdb?useSSL=false&characterEncoding=utf8
      - SPRING_DATASOURCE_USERNAME=apollo
      - SPRING_DATASOURCE_PASSWORD=apollo
  
  apollo-adminservice:
    container_name: apollo-adminservice
    #image: apolloconfig/apollo-adminservice:2.2.0
    image: apolloconfig/apollo-adminservice:1.8.2
    restart: always
    ports:
      - "8090:8090"
    depends_on:
      - apollo-configservice
    volumes:
      - "/opt/logs/100003172:/opt/logs/100003172"
    environment:
      - TZ='Asia/Shanghai'
      - SERVER_PORT=8090
      - EUREKA_INSTANCE_IP_ADDRESS=10.64.143.41
      - SPRING_DATASOURCE_URL=jdbc:mysql://10.64.143.41:3306/apolloconfigdb?useSSL=false&characterEncoding=utf8
      - SPRING_DATASOURCE_USERNAME=apollo
      - SPRING_DATASOURCE_PASSWORD=apollo
  apollo-portal:
    container_name: apollo-portal
    #image: apolloconfig/apollo-portal:2.2.0 这里可以根据需求替换不同版本的apollo
    image: apolloconfig/apollo-portal:1.8.2
    restart: always
    ports:
      - "8070:8070"
    depends_on:
      - apollo-adminservice
    volumes:
      - "/opt/logs/100003173:/opt/logs/100003173"
    environment:
      - TZ='Asia/Shanghai'
      - SERVER_PORT=8070
      - EUREKA_INSTANCE_IP_ADDRESS=10.64.143.41
      - APOLLO_PORTAL_ENVS=pro  #配置env
      - PRO_META=http://10.64.143.41:8080  #指定PRO的eureka地址
      - SPRING_DATASOURCE_URL=jdbc:mysql://10.64.143.41:3306/apolloportaldb?useSSL=false&characterEncoding=utf8
      - SPRING_DATASOURCE_USERNAME=apollo
      - SPRING_DATASOURCE_PASSWORD=apollo

4、安装mysql

$ wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
$ rpm -ivh mysql80-community-release-el7-3.noarch.rpm
$ yum -y install mysql-community-server
$ systemctl start mysqld.service
$ grep pass /var/log/mysql/mysqld.log #启动后,会有一个root的初始密码,写入在mysqld.log中
$ mysql -uroot -p
> alter user 'root'@'localhost' identified by 'apollo';
> create user apollo@'%' identified by 'apollo';

5、导入apollo SQL 文件

$ mysql -uroot -p < apolloconfigdb.sql
$ mysql -uroot -p < apolloportaldb.sql
$ mysql -uroot -p
> grant all privileges on ApolloConfigDB.* to 'apollo'@'%' identified by
'apollo';
> grant all privileges on ApolloPortalDB.* to 'apollo'@'%';
> flush privileges;
> exit;

6、启动apollo

$ docker-compose -f docker-compose-apollo.yml up -d
$ docker-compose ps
NAME                   IMAGE                                     COMMAND                  SERVICE                CREATED             STATUS              PORTS
apollo-adminservice    apolloconfig/apollo-adminservice:1.8.2    "/apollo-adminservic…"   apollo-adminservice    18 hours ago        Up 18 hours         0.0.0.0:8090->8090/tcp, :::8090->8090/tcp
apollo-configservice   apolloconfig/apollo-configservice:1.8.2   "/apollo-configservi…"   apollo-configservice   18 hours ago        Up 18 hours         0.0.0.0:8080->8080/tcp, :::8080->8080/tcp
apollo-portal          apolloconfig/apollo-portal:1.8.2          "/apollo-portal/scri…"   apollo-portal          18 hours ago        Up 18 hours         0.0.0.0:8070->8070/tcp, :::8070->8070/tcp

7、问题发现

在调试过程中,会发现apollo-adminservice注册不到eureka,会提示http://localhost:8080/eureka/访问拒绝,这样是需要去调试依赖,apollo的服务启动是有顺序的:apollo-configservice-->apollo-adminervice-->apollo-portal,这里需要心细去发现问题。如果访问异常,可以通过docker logs -f <container_name>进行查看日志。

标签:compose,Apollo,ce,yum,mysql,docker,apollo
From: https://www.cnblogs.com/linuxk/p/18105136

相关文章

  • 使用Docker搭建Redis Cluster集群
    Cluster模式是Redis的一种高级集群模式,它通过数据分片和分布式存储实现了负载均衡和高可用性。在Cluster模式下,Redis将所有的键值对数据分散在多个节点上。每个节点负责一部分数据,称为槽位。通过对数据的分片,Cluster模式可以突破单节点的内存限制,实现更大规模的数据存储。Redis......
  • Docker介绍
    这篇文章并不是一个大众化的docker介绍,是本人在学习docker中遇到的问题和存在的疑惑在得到解答后所总结出来的内容。Docker是什么?Docker首先他是一个软件平台,让您可以快速构建、测试和部署应用程序。顾名思义他是一个项目构建部署的工具。但他和一些Maven之类的构建工具有所不......
  • CentOS7 下 Docker方式部署 nextcloud步骤
    本示范站点在操作系统Centos7环境下;根目录设在:/app/dapp/caihcloud/nextcloud/html,根据实际情况自行调整;假设你已经安装启动好mysql80。现在开始,步骤如下:1、执行安装命令yuminstalldocker-ysystemctlstartdocker//启动dockersystemctlenabledocker//设置开机启动......
  • Docker技术全景:推动云原生架构的关键力量
    一、引言Docker,作为当今云计算领域的一颗璀璨明星,已经深刻改变了我们对软件开发、部署和运维的认识。从简单的容器化概念出发,Docker不仅仅是一种技术实现,它更是一种服务于云原生时代的哲学和实践。Docker的普及和成功,部分归功于它所提供的轻量级、可移植、自给自足的容器......
  • CentOs云服务器安装docker+前端部署(仅http)
    安装dockersudoyum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.reposudoyuminstalldocker-cedocker-ce-clicontainerd.io设置开机自启:systemctlenabledocker.service创建docker网络,网络名字自定义dockernetworkcreatebalab......
  • 服务器安装docker
    服务器安装docker目前最新版本是26.0.0如果曾经安装过docker,需要卸载掉。卸载旧版本如果服务器上安装过旧版本可以尝试如下命令卸载sudoyumremovedocker\docker-client\docker-client-latest\docker-common\......
  • 如何安装和使用Docker
    本文深入解析Docker,一种革命性的容器化技术,从其基本概念、架构和组件,到安装、配置和基本命令操作。文章探讨了Docker在虚拟化、一致性环境搭建及微服务架构中的关键作用,以及其在云计算领域的深远影响,为读者提供了关于Docker技术全面且深入的洞见。关注【TechLeadCloud】,分享互......
  • 自己写个网盘系列:③ 开源这个网盘编码,手把手教你windows linux 直接部署,docker本地打
    ❤系列①②已经完成了这个项目的页面和项目的全部编码,前后端分离,这个文章将向你展示运维小伙伴如何部署到windows服务器,linux服务器,docker部署,一学就会,快来看看吧!❤说明:这个系列准备用Simple快速框架搞个自己能用的网盘,来个实战,教大家如何搞一个项目,其中你能学到如何进行项目......
  • Docker Compose 中的网络配置和优先级管理
    DockerCompose中的网络配置和优先级管理DockerCompose是一个用于定义和运行多容器Docker应用程序的工具。它使用YAML文件来配置应用程序的服务,网络和卷。DockerCompose中的网络配置允许您定义容器之间以及与外部网络的连接。网络类型DockerCompose支持以下......
  • Linux 上用 docker-compose 文件指定的方式安装ETCD
    转载自:https://xie.infoq.cn/article/ffb0703096f0de1045e1ab028,这篇博客很棒!完全可执行的。本人修改了作者docker命令替换成了dockercompose文件的方式。创建数据保存目录:mkdir-p/home/service/etcd/data;创建配置目录:/home/service/etcd/conf;配置文件:/home/service......