2017-01-25 65 views
0

它開始我dockerfile的:如何在Dockerfile中告訴輸入「docker run」命令時要執行哪個命令?

FROM ubuntu:latest 
RUN apt-get update 
RUN apt-get install node 
RUN apt-get install npm 
RUN apt-get install mongo 
RUN mkdir app 
COPY . app/ 
WORKDIR app 

當我輸入docker run <image name>,我的容器必須運行node index.js 我必須爲它做什麼?

+3

添加'CMD節點index.js'在你的docker文件的結尾? –

+0

yesy,謝謝 –

回答

1

亞內茲·評論將工作,但是,如果你的容器必須以「節點index.js」開始,你將要使用的入口點:

FROM ubuntu:latest 
RUN apt-get update 
RUN apt-get install node 
RUN apt-get install npm 
RUN apt-get install mongo 
RUN mkdir app 
COPY . app/ 
WORKDIR app 
ENTRYPOINT ["node", "index.js"] 

有上ENTYRYPOINT vs CMD了廣泛的討論在這裏已經#1,如果你我想知道更多關於兩者之間的差異,或者他們如何結合起來,例如

ENTRYPOINT ["node"] 
CMD ["index.js"] 

與相反,你可以調用容器中備用的js文件即

docker run -it <image-name> test.js 

現在的容器將啓動和運行node test.js代替

相關問題