Как я могу копировать файлы, только если в работе с Dockerfile? - PullRequest
0 голосов
/ 11 мая 2019

Недавно я планировал развернуть свое приложение на сервере с помощью Docker. Я успешно настроил свою среду разработки с помощью docker и некоторое время запутался в docker-compose.

Мой Dockerfile выглядит так:

FROM alpine

# ...

COPY . /app

и файл docker-compose.yml выглядит следующим образом:

version: '3.7'
services:
  host:
    build:
      dockerfile: .docker/Dockerfile
      context: .
    volumes: 
      - .:/app
# ...

Теперь вопрос:

Если я введу команду docker-compose up -d, docker сначала скопирует все мои файлы в каталог изображения / приложения (это желательно для производства) , а затем смонтирует мой проект в контейнер / приложение (для разработки) переопределение работы для производства.

Что, если в моем проекте есть 1 ГБ файлов, я должен тратить это время на ожидание докера, копирующего все эти файлы даром?

Есть ли способ, которым я могу указать докеру не копировать все эти файлы, если он был создан для разработки? Или мне действительно нужно сделать несколько Dockerfiles для нескольких сценариев, таких как тестирование / постановка?

Что если, если в Dockerfile находится очень длинный и сложный процесс строительства, то, если немного изменить, скажем, Dockerdevelopmentfile, произойдет сбой в работе, если я забуду изменить его в Dockerproductionfile.

Что делать, если мне нужно создать от 5 до 10 изображений для моего проекта и даже сотни изображений для компании для нескольких проектов?

Не думаю, что это практично.

Пожалуйста, прости мою наивность. Я действительно ценю за некоторые советы.

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