Skip to content

基于Docker Compose完成Mysql和Doris环境的部署

本文是本系列教程的第二部分:基于Docker Compose完成Mysql和Doris环境的部署

前言

本教程需要用到Mysql和Doris。

如果您已经具备了Mysql和Doris环境,则可以跳过本教程。如果您本地还没有Mysql和Doris环境,则本文会带领大家完成Mysql和Doris环境的部署。

Docker环境

检查本地开发环境是否已经安装了docker

sh
docker -v

检查是否安装docker-compose

sh
docker-compose -v

没有docker和docker-compose环境的请自行安装。

由于Doris的运行需要内存映射支持,则需要先执行如下命令:

sh
sysctl -w vm.max_map_count=2000000

如果出现以下报错:

则修改为以下命令:

sh
sudo sysctl -w vm.max_map_count=2000000

MacOS 由于内部实现容器的方式不同,在部署时宿主机直接修改max_map_count值可能无法成功,需要先创建以下容器:

sh
docker run -it --privileged --pid=host --name=change_count debian nsenter -t 1 -m -u -n -i sh

容器创建成功执行以下命令:

sh
sysctl -w vm.max_map_count=2000000

然后exit退出。

编写docker-compose.yml文件

使用docker-compose部署需要先创建一个docker-compose.yml文件,内容如下:

yml
version: '2.1'
services:
  doris:
    image: yagagagaga/doris-standalone
    ports:
      - "8030:8030"
      - "8040:8040"
      - "9030:9030"
  mysql:
    image: debezium/example-mysql:1.1
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_USER=mysqluser
      - MYSQL_PASSWORD=mysqlpw

该 Docker Compose 中包含的容器有:

MySQL: 包含商品信息的数据库 app_db

Doris: 存储从 MySQL 中根据规则映射过来的结果表

启动容器

在 docker-compose.yml 所在目录下执行下面的命令来启动本教程需要的组件:

sh
docker-compose up -d

该命令将以 detached 模式自动启动 Docker Compose 配置中定义的所有容器。

验证容器是否正常启动:

sh
docker ps

访问Doris Web UIhttp://localhost:8030/,查看Doris是否正常运行。

默认的用户名为 root,默认密码为空。

至此,我们就部署完成了Mysql和Doris环境。

进阶

本教程中使用到了docker和docker-compose等容器化相关技术,docker也被广泛应用在众多场景下。如果您想要继续学习docker相关的知识,可以关注:遇码,回复:docker,获取docker官方文档。

遇码MeetCoding 开源技术社区