使用 Docker 运行 Meilisearch
学习如何使用 Docker 下载和运行 Meilisearch,配置其行为以及管理 Meilisearch 数据。
在本指南中,您将学习如何使用 Docker 下载和运行 Meilisearch、配置其行为以及管理 Meilisearch 数据。
Docker 是一种将应用程序打包到容器中的工具。Docker 容器能确保您的应用在不同环境中以相同方式运行。在开发环境中使用 Docker 时,我们建议遵循 Docker 官方文档安装 Docker Desktop。
通过 Docker 下载 Meilisearch
Docker 容器以镜像形式分发。要使用 Meilisearch,请使用 docker pull
命令下载 Meilisearch 镜像:
Meilisearch 每次引擎发布时都会部署新的 Docker 镜像。每个镜像都标有对应的 Meilisearch 版本号(如上例中 :
符号后的文本所示)。您可以在 Docker Hub 上查看 完整的 Meilisearch Docker 镜像列表。
latest
标签总是会下载最新的 Meilisearch 版本。Meilisearch 不建议使用此标签,因为如果不同机器在不同时间设置,可能会导致它们运行不同的镜像版本。
通过 Docker 运行 Meilisearch
完成上一步后,使用 docker run
命令启动 Meilisearch 镜像:
配置 Meilisearch
Meilisearch 在启动时接受多种实例配置选项。您可以通过两种方式配置这些选项:环境变量和 CLI 参数。请注意,某些选项仅作为 CLI 参数提供——详情请参阅我们的配置参考文档。
通过环境变量传递实例选项
要通过 Docker 传递环境变量,请在 docker run
命令中添加 -e
参数。以下示例使用主密钥启动 Meilisearch:
通过 CLI 参数传递实例选项
如果希望通过 Docker 向 Meilisearch 传递命令行参数,必须在 docker run
命令末尾显式添加一行来启动 meilisearch
二进制文件:
数据管理
使用 Docker 时,工作目录是 /meili_data
。这意味着数据库文件的位置是 /meili_data/data.ms
。
数据持久化
默认情况下,每次容器停止运行时,写入 Docker 容器的数据都会被删除。这些数据包括索引及其存储的文档。
要在重启后保留数据,请通过 -v
命令行选项指定专用卷:
上述示例使用了主机上的 $(pwd)/meili_data
目录。根据操作系统不同,从主机挂载卷到容器可能会导致性能下降,因此仅建议在开发应用程序时使用。
生成转储文件并更新 Meilisearch
要导出转储文件,请按照我们的转储指南中描述的创建转储端点进行操作。任务完成后,您可以在通过 -v
参数挂载的卷中的 /meili_data/dumps
目录下找到转储文件。
要导入转储文件,请使用 Meilisearch 的 --import-dump
命令行选项并指定转储文件的路径。确保该路径指向 Docker 可访问的卷:
请注意,导出和导入转储文件需要使用命令行参数。有关如何使用 CLI 选项和 Docker 运行 Meilisearch 的更多信息,请参阅本指南的相关章节。
如果您按照数据持久性章节的说明将数据存储在持久卷中,在导入转储文件前必须删除该卷中的 /meili_data/data.ms
目录。
使用转储文件可以在不同 Meilisearch 版本之间迁移数据。在我们的专门指南中阅读更多关于更新 Meilisearch 的信息。
快照功能
要使用 Docker 生成 Meilisearch 快照,请使用 --schedule-snapshot
和 --snapshot-dir
参数启动 Meilisearch:
--snapshot-dir
应指向 Meilisearch 的 Docker 工作目录 /meili_data
内的文件夹。生成后,快照将出现在配置的目录中。
要导入快照,请使用 --import-snapshot
选项启动 Meilisearch:
快照可用于备份或在相同版本的 Meilisearch 实例间迁移数据。在我们的指南中了解更多关于快照的信息。