单节点快速部署 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