繁体   English   中英

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

[英]docker-compose exited with code 0 - convert docker run command to docker-compose up?

我正在尝试在 docker-compose 中添加 DBpedia 聚光灯 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 文件的一部分

原始答案(检查更新):

当你执行

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操作对图像至关重要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM