docker run --name tidb-server -d -v /home/tidb/data:/tmp/tidb -p 4000:4000 -p 10080:10080 pingcap/tidb:latest
时间: 2025-02-07 12:01:19 浏览: 69
### 启动 TiDB 容器并配置数据持久化及端口转发
为了启动 `tidb-server` 并设置数据卷和端口映射,可以使用 Docker 的 `docker run` 命令。此命令允许指定容器名称、挂载主机目录到容器内的特定路径以及将容器内部的服务端口发布至宿主机。
以下是具体的操作方法:
#### 使用 docker run 启动 TiDB 容器实例
```bash
docker run -d \
--name tidb-server \
-v /path/on/host/tidb-data:/var/lib/mysql \
-p 4000:4000 \
pingcap/tidb:v6.5.0 tikv-peer=true
```
在此命令中:
- `-d` 参数表示以后台模式运行容器;
- `--name tidb-server` 设置容器的名字为 `tidb-server`;
- `-v /path/on/host/tidb-data:/var/lib/mysql` 将宿主机上的 `/path/on/host/tidb-data` 目录挂载到了容器内的 `/var/lib/mysql`, 实现了数据的持久存储[^1];
- `-p 4000:4000` 把容器内监听的第 4000 号端口映射到宿主机同样编号的端口上, 方便外部访问 TiDB 提供的服务;
请注意替换上述命令中的版本号 (`pingcap/tidb:v6.5.0`) 和文件系统位置 (`/path/on/host/tidb-data`) 来匹配实际环境需求。
相关问题
docker-compose 安装tidb v7.1.1
要使用docker-compose安装TiDB v7.1.1,您需要编写一个docker-compose.yml文件来定义和配置您的服务。以下是一个示例的docker-compose.yml文件,用于安装TiDB v7.1.1:
```yaml
version: '3'
services:
tidb:
image: pingcap/tidb:v7.1.1
ports:
- "4000:4000"
environment:
- MYSQL_ROOT_PASSWORD=your_password
volumes:
- tidb_data:/var/lib/mysql
tikv:
image: pingcap/tikv:v7.1.1
volumes:
- tikv_data:/var/lib/tikv
pd:
image: pingcap/pd:v7.1.1
ports:
- "2379:2379"
- "2380:2380"
volumes:
- pd_data:/var/lib/pd
volumes:
tidb_data:
tikv_data:
pd_data:
```
在上面的示例中,我们定义了三个服务:tidb、tikv和pd。tidb服务使用pingcap/tidb:v7.1.1镜像,将容器的4000端口映射到主机的4000端口,并设置了MYSQL_ROOT_PASSWORD环境变量来设置root用户的密码。tikv和pd服务分别使用pingcap/tikv:v7.1.1和pingcap/pd:v7.1.1镜像,并设置了相应的数据卷。
要安装TiDB v7.1.1,请按照以下步骤操作:
1. 创建一个名为docker-compose.yml的文件,并将上述示例内容复制到文件中。
2. 根据需要修改docker-compose.yml文件中的配置,例如端口映射和密码。
3. 打开终端,导航到包含docker-compose.yml文件的目录。
4. 运行以下命令启动TiDB集群:
```bash
docker-compose up -d
```
这将启动TiDB集群,并将其作为后台服务运行。您可以使用以下命令检查服务的状态:
```bash
docker-compose ps
```
如果一切顺利,您应该能够看到tidb、tikv和pd服务正在运行。
请注意,上述示例仅用于演示目的。在实际部署中,您可能需要根据您的需求进行更多的配置和调整。
阅读全文
相关推荐









