[英]Docker change directory in CMD command
我正在嘗試將 docker 用於 firebase 項目,對於 firebase, package.json
位於名為函數的子文件夾中。 我正在使用 node:alpine 圖像。
在我的 Dockerfile 中,我需要 cd 進入函數目錄,然后運行npm run start
。 請問我該怎么做?
我試過 CMD ["cd", "functions", ";", "npm", "run", "serve" ],我得到這個錯誤/usr/local/bin/docker-entrypoint.sh: exec: line 8: cd: not found
FROM node:alpine
WORKDIR '/app'
RUN npm install -g firebase-tools
COPY functions/package*.json functions/
RUN cd functions && npm install && cd ..
COPY . .
CMD [ "cd", "functions", ";", "npm", "run", "serve" ]
如果您控制了 dockerfile,只需在 CMD 之前添加一行:
WORKDIR '/functions'
正確的方法是使用 workdir:
WORKDIR /functions
CMD [ "npm", "run", "serve" ]
或者只是使用:
CMD [ "/bin/sh" , "-c" , "cd /functions && npm run serve" ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.