Docker ExpressJS公用文件夹卷

时间:2019-06-30 20:04:50

标签: docker express dockerfile docker-volume

我想在Express App的Docker上为我的“公共”文件夹创建一个卷。因为当用户上传图片时,我将它们保存到“公用/上传”中,但是当我对代码进行更改并必须使用docker-compose run --build进行重建时,我将丢失所有这些图像。

我试图找到一种创建卷的方法,但是我不知道如何链接它。

我的Dockerfile仅包含以下内容:

FROM node:8.10.0-alpine

WORKDIR /usr/src/app
COPY package*.json ./

RUN npm install
# RUN npm ci --only=production

COPY . .
CMD [ "npm", "start" ]

我的目标是从“公共/上传”中提供上传的图片,并且不要在docker-compose run --build时将其删除。

1 个答案:

答案 0 :(得分:1)

根据官方documentation,您可以使用--mount标志:

//Dockerfile

FROM node:8.10.0-alpine

WORKDIR /usr/src/app
COPY package*.json ./

RUN npm install
# RUN npm ci --only=production

RUN --mount=target=/some_location_in_file_system,type=bind,source=public/uploads

COPY . .
CMD [ "npm", "start" ]