Docker-compose 失败,并出现错误"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只为其传递参数。

最新更新