繁体   English   中英

Docker-compose失败,错误为“未指定命令”

[英]Docker-compose fails with error “No command specified”

使用run命令启动容器

docker run -it -d -p 8888:8888 install_advisor node src/server

如预期般运作。 但是尝试使用docker-compose来启动它会导致错误:

“错误:用于顾问程序,无法为服务顾问程序创建容器:未指定命令”

我究竟做错了什么?

docker-compose.yml的内容

advisor:
  build:
    context: .
    dockerfile: DockerfileAdvisor
  ports:
    - "8888:8888"
  restart: always
  privileged: true

DockerfileAdvisor的内容

FROM XYZ
ENTRYPOINT [ "node", "src/server" ]

我对您的解决方案无法正常工作感到有些惊讶。 但是您可能可以通过几种方式对其进行修复。 这里有一些建议:

1)将DockerFileAdvisor文件更改为

FROM XYZ
COMMAND [ "node", "src/server" ]

2)如果DockerFileAdvisor实际上仅包含问题中显示的两行,那么您甚至不需要它。 只需在docker-compose.yml指定image: XYZcommand: [ "node", "src/server" ]

advisor:
    image: XYZ
    ports:
      - "8888:8888"
    restart: always
    privileged: true
    command: [ "node", "src/server" ]

也许您想看看Docker文档,了解ENTRYPOINTCOMMAND指令如何一起使用。 简而言之,使用ENTRYPOINT您可以使图像看起来像可执行文件,并使用COMMAND为其传递参数。

暂无
暂无

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

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