如何在 sphinxsearch Docker 容器中 运行 索引器?

How to run indexer in sphinxsearch Docker container?

我正在使用 macbre/sphinxsearch/ docker 图片。 我为卷创建了目录,我正在 运行 使用以下命令连接容器:

podman run --name sphinxsearch -p 36307:36307 -v ~/podman/volumes/sphinxsearch/:/opt/sphinx/index:z -v ./sphinx.conf:/opt/sphinx/conf/sphinx.conf:z --rm macbre/sphinxsearch

我得到一个错误,因为索引不是由 indexer:

创建的
WARNING: index 'test1': prealloc: failed to open /opt/sphinx/index/test1.sph: No such file or directory; NOT SERVING
FATAL: no valid indexes to serve

在这种情况下,我应该如何 运行 索引器?

在 运行 启用 searchd 守护程序之前,您首先需要构建索引。为此 运行 通过容器的第一个索引器作业:

podman run -v $VOLPATH/sphinxsearch/index/:/opt/sphinx/index:z \
-v $VOLPATH/sphinxsearch/sphinx.conf:/opt/sphinx/conf/sphinx.conf:z \
--rm macbre/sphinxsearch indexer --all --config /opt/sphinx/conf/sphinx.conf

稍后,当容器已经在工作时,您可以使用以下方式刷新索引:

podman exec -it sphinxsearch indexer --rotate --all --config /opt/sphinx/conf/sphinx.conf

我还在 post 中记录了整个过程: Running SphinxSearch in Podman container

感谢@Manticore-Search 和@macbre 指明方向。