Выборочно игнорировать файл при подготовке образов докера - PullRequest
0 голосов
/ 05 марта 2019

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

COPY dependencies/mylib-0.5-py3-none-any.whl mylib-0.5-py3-none-any.whl
RUN pip install mylib-0.5-py3-none-any.whl && rm mylib-0.5-py3-none-any.whl

COPY . /app

Я не хочу колесо в образе докера ...

Но COPY . скопирует его ...

Если я не укажу, что не хочу копировать его, поместив его в .dockerignore ...

Но тогда первая команда COPY не будет работать.

Есть ли выход из этого улова-22?

1 Ответ

1 голос
/ 05 марта 2019

Я думаю, вы можете просто захотеть удалить файл после окончательного COPY?

COPY dependencies/mylib-0.5-py3-none-any.whl mylib-0.5-py3-none-any.whl
RUN pip install mylib-0.5-py3-none-any.whl && rm mylib-0.5-py3-none-any.whl
COPY . /app

RUN rm /app/dependencies/mylib-0.5-py3-none-any.whl

, используя rm /app/dependencies/mylib-0.5-py3-none-any.whl, потому что он будет скопирован относительно его расположения в исходном каталоге.

Далее, я думаю, вы могли бы затем сократить этот бит до следующего:

COPY . /app
WORKDIR /app
RUN pip install dependencies/mylib-0.5-py3-none-any.whl \
  && rm dependencies/mylib-0.5-py3-none-any.whl

Возможно, у вас уже установлен WORKDIR, в противном случае вам придется немного изменить команды install и rm..

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