# 一、拉取Docker镜像安装容器 ### 1、本地镜像,从仓库中拉取,命令拉取,拉取镜像 docker pull getmeili/meilisearch:v1.11.1 ### 2、创建容器,命令创建 docker run -d -p 7700:7700 -e MEILI\_ENV='development' -v \$(pwd)/meili\_data:/meili\_data getmeili/meilisearch:v1.11.1 > 【注意】 > > - -d:后台运行容器(守护进程模式)。 > - -p 7700:7700:将容器内部的 7700 端口映射到主机的 7700 端口(MeiliSearch 默认端口)。 > - -v $(pwd)/data.ms:/data.ms:将主机当前目录下的 data.ms 文件夹挂载到容器内,用于持久化存储索引数据(避免容器重启后数据丢失)。 > - -it不能加,会运行不了 > - 命令行如果加了--rm,就会配置后删除容器,各种失败 # 二、配置 ### 1、将MASTER_KEY添加到环境变量(注意替换为自己实际的**master key**)  ``` PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin MEILI_HTTP_ADDR=0.0.0.0:7700 MEILI_SERVER_PROVIDER=docker MEILI_MASTER_KEY=5OMrQiLWrDaVc1qjKZ2M-l1v_ChETbDu8k-36l7LKFc MEILI_DUMP_DIR=/meili_data ``` 这里的 `MEILI_DUMP_DIR=/meili_data`指定了导出的目录 挂载目录:/www/server/panel/meili_data,没有meili_data文件夹则自己创建 容器目录:/meili_data  ### 2、获取低权限Search API Key(搜索专用API秘钥,懒一点其实也可以直接用Master API Key) (1)启动一个root权限的sh终端  **输入以下命令并按回车运行**(Bearer后边有个空格,后边就是上边获取到的最高权限的master_key,替换为自己获取到的) curl -X GET 'http://localhost:7700/keys' -H 'Authorization: Bearer 5OMrQiLWrDaVc1qjKZ2M-l1v\_ChETbDu8k-36l7LKFc' 右键终端,粘贴 得到了admin key、search key,加上master key,现在有三种key  整理出来就是 ``` 【Search API Key】ce9e86d7159f6e0f2ce44f70902d6882f5d8220980196ed50f98ab712294ffd4 【Admin API Key】664c80c80db35a9b48539a60107ea3b5243a93614e0d2cdbd23aab7a9e5f0734 【Master API Key】5OMrQiLWrDaVc1qjKZ2M-l1v\_ChETbDu8k-36l7LKFc ``` ### 3、可以访问网页可视化查询 [http://192.168.1.100:7700/](http://192.168.2.200:7700/) 将192.168.1.100替换为自己的实际宝塔后台地址  填入后因为没有数据库内容,所以查询返回结果是空的 # 三、导入数据库 ### 1、从MeiliSearch官网获取一个默认dump文件导入 上传到 /www/server/panel/meili\_data 打开终端执行 ``` rm -rf data.ms meilisearch --import-dump 20241031-065501177.dump ``` 导入后没有生效,重启Docker容器,解决! (若没有成功,还让你输入key,可以打开容器日志,你会发现key变了,重新执行上边的curl获取,再次操作一次即可)   ### 2、重启容器  ### 3、访问网页体验 再次访问网页,多了一个movies索引,相当于数据库的表,这个dump文件是官方的数据集movies.json导入后备份出来的  可以开始使用了