单节点快速部署 Docker 容器

首先,在 Linux 环境中成功部署和安装 Docker 后,为了执行 Docker 容器的单节点快速部署,需要按照以下步骤执行部署过程:

1.部署前提

确保 Linux 系统已成功安装 Docker 容器引擎,且 Docker 服务运行正常。

2.环境准备

环境描述

提前配置 git docker docker-compose 环境;

# Note: Check your docker-compose version against the following relationships, and modify the docker-compose.yml version field of the configuration file downloaded in 2.1 as appropriate
 docker-compose.yml version| Docker Engine version| Docker Compose version
  2.4;                       17.12.0+;              1.21.0+
  2.3;                       17.06.0+;              1.16.0+
  2.2;                       1.13.0+;               1.13.0+
  2.1;                       1.12.0+;               1.9.0+
  2.0;                       1.10.0+ ;              1.6.0+

拉取容器

# Pull dingo-store
docker pull dingodatabase/dingo-store:latest
# Pull dingo
docker pull dingodatabase/dingo:latest

3.启动容器

在这里,我们需要基于 docker-compose 启动容器,所以先拉一下:docker-compose。

提取相应的 docker-compose 配置

# Method 1 
curl https://github.com/dingodb/dingo-deploy/blob/main/container/docker-compose/docker-compose.single.yml -o docker-compose.yml
# Method 2
git clone https://github.com/dingodb/dingo-deploy.git
cd  dingo-deploy/container/docker-compose

配置文件描述:

  • 用于单节点多服务的 docker-compose.yml,其中完整的启动包含 3 个coordinator, 3 个store, 3个 index, 1 个executor, 1 个web (proxy);

  • docker-compose.single.yml 是一个单节点、单服务,其中完整的启动包含 1 个coordinator, 1 个store, 1个 index, 1 个executor, 1 个web (proxy);* coordinator, store, index 使用主机网络,executor, web (proxy) 使用网络。

  • coordinator、store和index 使用主机网络,executor 和 web(proxy)使用网络。

启动相应的容器

# Change to your own ip address, do not use 127.0.0.1 (web(proxy) and executor use net network, 127.0.0.1 does not point to host).
# docker-compose.yml is in the current directory and has the same name, you can not use the -f parameter.
DINGO_HOST_IP=x.x.x.x docker-compose -f ./docker-compose.yml up -d

4.查看群集状态

检查容器状态

检查 yml 配置文件中的所有容器是否都处于 “启动 ”状态。

docker ps

查看流程状态

  • 查看coordinator 状态

# Enter the container
docker exec -it coordinator1 bash
cd build/bin/

[root@coordinator1 bin]#  ./dingodb_client --method=GetCoordinatorMap
  • 检查Store 状态

# Enter the container
docker exec -it coordinator1 bash
cd build/bin/

[root@coordinator1 bin]# ./dingodb_client --method=GetStoreMap
  • 检查Executor的状态。要检查Executor的状态,只需查看日志并确保 mysql init 成功即可。

docker logs executor
  • 检查Proxy的状态。可以通过 swagger 查看 Web(Proxy),但需要用自己的 IP 地址替换 URL 中的 IP。

http://localhost:13000/swagger-ui/index.html