我正在尝试在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的一部分,编写文件
原始答案(检查更新(:
当您执行时
docker run -i -p 2222:80 dbpedia/spotlight-english spotlight.sh
您正在显式覆盖映像的默认入口点。
要使用docker compose实现相同的行为,请尝试使用以下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
操作对图像至关重要。