2016-11-24 59 views
1

「未指定命令」和run命令啓動容器多克爾 - 撰寫失敗,錯誤

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

按預期工作。但試圖用docker-compose把它弄出來會導致錯誤:

"ERROR: for advisor Cannot create container for service advisor: No command specified"

我在做什麼錯?

泊塢窗,compose.yml內容

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

DockerfileAdvisor

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

回答

2

的內容我有點驚訝的是,你的解決方案不起作用,因爲它是。但是你可以用幾種方法修復它。這裏是一些建議:

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" ] 

也許你想採取多克爾文檔看看ENTRYPOINTCOMMAND指示如何一起玩。簡而言之,使用ENTRYPOINT可以使圖像看起來像一個可執行文件,並使用COMMAND來傳遞參數。

+0

謝謝。第二個建議奏效了。 –

+0

太棒了,很高興聽到它! :) – ronkot