我正在尝试在docker-compose中添加DBpedia Spotlight API服务。 (https://github.com/dbpedia-spotlight/spotlight-docker)
通常,此命令可以正常工作:
docker run -i -p 2222:80 dbpedia/spotlight-english spotlight.sh
我对docker-compose.yml的尝试:
version: '3'
services:
dbpedia:
image: "dbpedia/spotlight-english:latest"
ports:
- "2222:2222"
运行docker-compose up
时出现以下错误:
Recreating composetest_dbpedia_1 ... done
Attaching to composetest_dbpedia_1
composetest_dbpedia_1 exited with code 0
我想念什么?我正在尝试像以前一样启动DBpedia服务,但作为docker-compose文件的一部分
答案 0 :(得分:0)
原始答案(检查更新):
执行时
docker run -i -p 2222:80 dbpedia/spotlight-english spotlight.sh
您正在显式覆盖图像的默认入口点。
要在docker-compose中实现相同的行为,请尝试使用以下撰写文件:
version: '3'
services:
dbpedia:
image: "dbpedia/spotlight-english:latest"
ports:
- "2222:80"
entrypoint: spotlight.sh
您对我已更正的端口映射有误。
更新:正如@David Maze在注释中正确指出的那样,使用您的docker run
命令,您正在覆盖映像的CMD
指令,因此等效的docker-compose条目为command: spotlight.sh
。显然,对于您的图像没有什么区别,但是在某些情况下,CMD
和ENTRYPOINT
动作对图像至关重要。