Добавление объема в docker Контейнер / Приложение - PullRequest
1 голос
/ 13 февраля 2020

У меня проблемы с созданием тома, который отображается в каталог "/ app" в моем контейнере.

В основном, поэтому, когда я обновляю код, мне не нужно снова собирать контейнер

Это мой docker файл

# stage 1 
FROM node:latest as node
WORKDIR /app
COPY . .
RUN npm install
RUN npm run build --prod

# stage 2
FROM nginx:alpine
COPY --from=node /app/dist/my-first-app /usr/share/nginx/html

Я использую эту команду для запуска контейнера

docker run -d -p 100:80/tcp -v ${PWD}/app:/app docker-testing:v1

, и с ним не связан ни один том.

Однако, если бы я сделал это

docker run -d -p 100:80/tcp -v ${PWD} docker-testing:v1

я бы получил объем по крайней мере

enter image description here

Что-нибудь очевидное, что я делаешь неправильно?

Спасибо

1 Ответ

1 голос
/ 13 февраля 2020

${PWD}:/app:/app должно быть ${PWD}/app:/app.

Если вы взорвете ${PWD}, вы получите что-то вроде /home/user/src/thingy:/app:/app, что не имеет особого смысла.

РЕДАКТИРОВАТЬ: Я бы предложил использовать docker-compose, чтобы избежать подобных проблем (это также сильно упрощает команды запуска docker).

В вашем случае docker -compose.yml будет выглядеть так это:

docker run -d -p 100: 80 / tcp -v $ {PWD}: / app: / app docker -проверка: v1

version: "3"
services:
  doctesting:
    build: .
    image: docker-testing:v1
    volumes:
      - "./app:/app"  
    ports:
      - "100:80"

I на самом деле не проверял, работает ли он, могут быть опечатки ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...