簡體   English   中英

Docker 在 CMD 命令中更改目錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM