我有一个 Solr 后端,我想与 Flask 前端一起使用。我计划使用
docker-compose
在 Docker 中运行两者。
我的
docker-compose.yml
的相关部分如下所示:
version: '3'
services:
solr:
image: solr
ports:
- "8983:8983"
volumes:
- ./data:/var/solr/
entrypoint:
- bash
- "-c"
- "precreate-core stable; precreate-core unstable; precreate-core archive; exec solr -f"
[...]
volumes:
data:
它在主机上创建一个持久的
./data
目录,该目录安装在来宾上的 /var/solr
。但是,当我尝试运行它时:
pc% docker-compose up
[+] Running 2/0
⠿ Container src-solr-1 Recreated
⠿ Container src-frontend-1 Recreated
Attaching to src-frontend-1, src-solr-1
src-solr-1 | Executing /opt/solr/docker/scripts/precreate-core stable
src-solr-1 | cp: cannot create directory '/var/solr/data/stable': No such file or directory
src-solr-1 | Executing /opt/solr/docker/scripts/precreate-core unstable
src-solr-1 | Executing /opt/solr/docker/scripts/precreate-core archive
src-solr-1 | cp: cannot create directory '/var/solr/data/unstable': No such file or directory
src-solr-1 | cp: cannot create directory '/var/solr/data/archive': No such file or directory
src-solr-1 |
src-solr-1 | Solr home directory /var/solr/data not found!
src-solr-1 |
src-solr-1 exited with code 1
src-frontend-1 exited with code 0
./data
文件夹保持为空。
我已经将其
chown
编辑为8983:8983
,所以这不应该是权限问题。
错误消息抱怨 /var/solr 中缺少
data
目录 - 而不是 /var/solr 本身丢失。您必须首先创建 /data
目录,然后在该目录中创建核心。
我已经用
docker run
启动了容器,我的问题是没有错误输出
docker run -d -v "./solrdata:/var/solr" -p 8983:8983 --name my_solr solr solr-precreate gettingstarted
我可以看出它失败了,因为
docker ps -a
STATUS 立即退出。 docker logs
有助于查看错误
docker logs my_solr
Cannot write to /var/solr as 8983:8983
drwxr-xr-x. 1 1000 1000 0 Feb 20 01:57 /var/solr
然后,这就解决了
sudo chown 8983:8983 solrdata/
不完全相同的问题,只是说日志有帮助。