Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: add instructions for pika docker image #1557

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 42 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ By default the compilation process is in 'release' mode. If you wanna debug this
```
rm -fr output
cmake -B output -DCMAKE_BUILD_TYPE=Debug
cd ouput && make
cd output && make
```

## Usage
Expand All @@ -139,6 +139,47 @@ By default the compilation process is in 'release' mode. If you wanna debug this
2. exec `rm -fr output` rebuild cmake (for complete recompilation)
```

## Dockerization

### Run with docker

```bash
docker run -d \
--restart=always \
-p 9221:9221 \
-v <log_dir>:/pika/log \
-v <db_dir>:/pika/db \
-v <dump_dir>:/pika/dump \
-v <dbsync_dir>:/pika/dbsync \
pikadb/pika:v3.3.6

redis-cli -p 9221 "info"

```

Meaning of dirs:
- log_dir: Directory to store log files of Pika.
- db_dir: Directory to store the data of Pika.
- dump_dir: Directory to stored dump files that generated by command "bgsave".
- dbsync_dir: Pika db sync path.


### Build Image
If you want to build the image yourself, we have provided a script `build_docker.sh` to simplify this process.

The script accepts several optional arguments:

- `-t tag`: Specify the Docker tag for the image. By default, the tag is `pikadb/pika:<git tag>`.
- `-p platform`: Specify the platform for the Docker image. By default is current docker's platform. `all`, `linux/amd64`, `linux/arm`, `linux/arm64`.
- `--proxy`: Use a proxy to download packages to speed up the build process. This is particularly useful if you are in China.
- `--help`: Display help information.

Here is an example usage of the script:

```bash
./build_docker.sh -p linux/amd64 -t private_registry/pika:latest
```

## Performance

More details on [Performance](docs/benchmark/performance.md).
machinly marked this conversation as resolved.
Show resolved Hide resolved
machinly marked this conversation as resolved.
Show resolved Hide resolved
Expand Down
35 changes: 34 additions & 1 deletion README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ pika 默认使用`release`模式编译,不能调试,如果需要调试,需
```
rm -fr output
cmake -B output -DCMAKE_BUILD_TYPE=Debug
cd ouput && make
cd output && make
```

## 使用
Expand All @@ -126,6 +126,39 @@ pika 默认使用`release`模式编译,不能调试,如果需要调试,需
2. 执行 rm -fr output 重新生成cmkae(一般用于彻底重新编译)
```

## 容器化

### 使用docker运行

```bash
docker run -d \
--restart=always \
-p 9221:9221 \
-v <log_dir>:/pika/log \
-v <db_dir>:/pika/db \
-v <dump_dir>:/pika/dump \
-v <dbsync_dir>:/pika/dbsync \
pikadb/pika:v3.3.6

redis-cli -p 9221 "info"
```

### 构建镜像
如果你想自己构建镜像,我们提供了一个脚本 `build_docker.sh` 来简化这个过程。

脚本接受几个可选参数:

- `-t tag`: 指定镜像的Docker标签。默认情况下,标签是 `pikadb/pika:<git tag>`。
- `-p platform`: 指定Docker镜像的平台。默认使用当前 docker 的 platform 设置 `all`, `linux/amd64`, `linux/arm`, `linux/arm64`.
- `--proxy`: 使用代理下载 package 以加快构建过程,构建时会使用阿里云的镜像源。
- `--help`: 显示帮助信息。

这是脚本的一个示例使用:

```bash
./build_docker.sh -p linux/amd64 -t private_registry/pika:latest
```

## 性能 (感谢[deep011](https:/deep011)提供性能测试结果)
### 注!!!
本测试结果是在特定环境特定场景下得出的,不能够代表所有环境及场景下的表现,__仅供参考__。
machinly marked this conversation as resolved.
Show resolved Hide resolved
machinly marked this conversation as resolved.
Show resolved Hide resolved
Expand Down