簡體   English   中英

Docker容器在運行時拋出錯誤

[英]Docker container throwing error on running it

我現在一直在學習docker,我制作了一個像這樣的docker文件。

FROM node:10

# Create app directory
WORKDIR /app

# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json /app/

RUN npm install
# If you are building your code for production
# RUN npm ci --only=production

# Bundle app source
ADD ./* /app/

EXPOSE 8080
CMD [ "npm", "start" ]

我的文件目錄如下所示

在此處輸入圖片說明

我的服務器在本地計算機上運行良好,但是,在使用docker容器運行時,拋出了錯誤。 錯誤是: 在此處輸入圖片說明

有人可以幫我嗎?

Dockerfile更新為以下內容並嘗試:

FROM node:10

# Create app directory
WORKDIR /app/

# RUN apt-get update && apt-get install -y --no-install-recommends nano

# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./

# RUN npm install
# If you are building your code for production
RUN npm install --only=production

COPY . .

CMD ["node", "server.js"]

EXPOSE 8080

WORKDIR to /app/設置WORKDIR to /app/ ,將更新當前目錄。 因此,在復制過程中無需提及/app

ADD ./* /app/不是您可能認為的。 它根據Go的文件路徑匹配項(docs)匹配所有滿足./*文件,並將它們復制到/app/ 有關詳細信息,請參閱答案。

相反,您應該做的是add . /app/ add . /app/add . . add . . (這是等效的,因為您將workdir更改為/app )。 這樣就可以將當前目錄的內容准確地復制到容器文件系統中,並保持目錄結構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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