docker-compose以代码0退出-将docker run命令转换为docker-compose了吗?

我正在尝试在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文件的一部分

kaka29999 回答:docker-compose以代码0退出-将docker run命令转换为docker-compose了吗?

原始答案(检查更新):

执行时

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

您对我已更正的端口映射有误。

Reference


更新:正如@David Maze在注释中正确指出的那样,使用您的docker run命令,您正在覆盖映像的CMD指令,因此等效的docker-compose条目为command: spotlight.sh。显然,对于您的图像没有什么区别,但是在某些情况下,CMDENTRYPOINT动作对图像至关重要。

本文链接:https://www.f2er.com/3143868.html

大家都在问