docker compose退出,代码为0-将docker run命令转换为docker compose-up



我正在尝试在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。显然,对于您的图像没有差异,但在某些情况下,CMDENTRYPOINT操作对图像至关重要。

最新更新