1. 备份
curl \
  -X POST 'http://172.17.0.1:37700/dumps'
返回结果如下:
{
  "taskUid": 57978,
  "indexUid": null,
  "status": "enqueued",
  "type": "dumpCreation",
  "enqueuedAt": "2022-06-21T16:10:29.217688Z"
}
可以根据返沪结果查看备份任务执行的状态
curl \
  -X GET 'http://localhost:37700/tasks/57978'
1.2. 把原数据移动到备份目录
mv data/data.ms back/
2. 恢复数据
2.1 启动新版本的 meilisearch
使用如下 docker-compose 配置启动新版本的服务
version: '3'
services:
  meilisearch_server:
    #image: docker.io/getmeili/meilisearch:v0.29
    image: getmeili/meilisearch:v1.0
    container_name: meilisearch_server
    entrypoint: /bin/sh
    command:
      - "-c"
      - "sleep 10000000"
    ports:
      - "37700:7700"
    volumes:
      - ./data:/meili_data
    #  - /home/data/docker/webcrawler_358_1636118043/webcrawler/apps.weixinqqq.com/pics:/usr/share/nginx/html/000-pics
    user: root
    network_mode: bridge
    environment:
      - MEILI_ENV=development
2.2 进入容器内部
docker-compose exec -it meilisearch_server sh
2.3 导入数据
# replace {dump_uid.dump} with the name of your dump file
./meilisearch --import-dump dumps/20230315-105044020.dump
等待数据导入完成。数据导入完成后,最后一行日志如下:
A batch of tasks was successfully completed
使用命令 Ctrl + C 退出 meilisearch。
3. 重启新版本 meilisearch
退出容器,修改 docker-compose 如下
version: '3'
services:
  meilisearch_server:
    #image: docker.io/getmeili/meilisearch:v0.29
    image: getmeili/meilisearch:v1.0
    container_name: meilisearch_server
    #entrypoint: /bin/sh
    #command:
    #  - "-c"
    #  - "sleep 10000000"
    ports:
      - "37700:7700"
    volumes:
      - ./data:/meili_data
    #  - /home/data/docker/webcrawler_358_1636118043/webcrawler/apps.weixinqqq.com/pics:/usr/share/nginx/html/000-pics
    user: root
    network_mode: bridge
    environment:
      - MEILI_ENV=development
然后重启容器,服务生效。
参考:https://docs.meilisearch.com/learn/update_and_migration/updating.html#install-the-desired-version-of-meilisearch