Том общей папки Docker ExpressJS - PullRequest
0 голосов
/ 30 июня 2019

Я хочу создать том для моей «общедоступной» папки в Docker в приложении Express. Потому что, когда пользователи загружают изображения, я сохраняю их в «public / uploads», но когда я делаю изменения в коде и мне приходится перестраивать с помощью 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" ]

Моя цель - обслуживать загруженные изображения из "public / uploads", а не удалять их при docker-compose run --build.

1 Ответ

1 голос
/ 30 июня 2019

Согласно официальной документации , вы можете использовать флаг --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" ]

...