使用 Docker 运行 Meilisearch
了解如何使用 Docker 下载和运行 Meilisearch,配置其行为,以及管理您的 Meilisearch 数据。
在本指南中,您将学习如何使用 Docker 下载和运行 Meilisearch,配置其行为,以及管理您的 Meilisearch 数据。
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
命令行选项运行 Docker 来指定专用卷
上面的示例使用 $(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 实例之间迁移数据。在我们的指南中阅读有关快照的更多信息。