2015-02-20 4 views
1

Моя структура каталогов выглядит следующим образомОтправка докер сборки контексты

cassandra 
     Dockerfile 
     downloads 
      225M file 

Я нахожусь внутри директории Кассандры. Моя команда сборки

docker build -t image_cassandra . 

Я знаю, что он будет посылать все содержимое в . текущем каталоге. Поэтому для отправки этого 225M-файла требуется столько времени. Мне нужен этот файл в моем файле Docker.

Add downloads/ /tmp/ 

Я хочу избежать этой задержки. И я это знаю, мы не можем использовать ../ в команде ADD докера. Итак, есть ли способ уменьшить размер контекста сборки и иметь эту команду ADD.

Этот файл не является частью сети. Поэтому я не могу использовать никаких заявлений apt-get wget. Или невозможно?

ответ

0

Вы можете разделить проект на два изображения докеров, большой, который меняется редко, и небольшой, который вы можете быстро изменить.

Project1/ 
    Dockerfile 
    bigfile 

Project2/ 
    Dockerfile 

Project1/Dockerfile будет выглядеть следующим образом:

FROM ubuntu 
RUN apt-get install cassandra 
ADD bigfile 

Затем, если вы строите его и пометить его с docker build -t project1 Project1, вы можете использовать результат в project2/Dockerfile:

FROM project1 
RUN fast configuration commands 
+0

Ницца Идея: Ты хорош. Позвольте мне ждать некоторых других решений, кроме двух файлов докеров. Если нет других возможных решений, вы являетесь лучшими –

Смежные вопросы