Сборка Docker с внешним файлом - PullRequest
0 голосов
/ 28 июня 2018

У меня есть файл Docker, который делает простой dotnet restore внутри контейнера, по сути, так:

FROM microsoft/dotnet:2.1-sdk-alpine as build-env
COPY . .
RUN dotnet restore

Теперь иногда dotnet restore требуются внешние пакеты, то есть внешний файл nuget.config.

Этот файл можно найти в разных местах в зависимости от того, используете ли вы windows / mac и т. Д., Но оператор всегда должен знать, где он находится.

Более того, этот файл содержит конфиденциальную информацию и, следовательно, не может быть в хранилище. Все, что я хочу сделать, это когда я docker build . хочу передать этот файл в контейнер докера. Этот файл не будет частью контекста . и будет находиться где-то еще.

Концептуально я хочу сделать docker build -file "c:\XXX\Nuget.Config" и затем сделать его доступным в докере. Вариант также может быть, если бы я мог каким-то образом смонтировать этот файл / каталог в том во время сборки .

Любая помощь будет оценена.

PS: я размышлял docker-compose, поэтому могу быть открыт для решений, использующих это, хотя сейчас я просто хочу сохранить простоту и использовать docker

1 Ответ

0 голосов
/ 21 августа 2018

Два простых варианта, которые я могу придумать, в зависимости от того, насколько конфиденциальна информация:

  1. Если он сверхчувствителен, вы можете создать свои двоичные файлы вне докера и создать окончательное изображение, скопировав в двоичные файлы.

  2. Если вы могли бы разрешить конфиденциальную информацию в транзитном контейнере сборки (но не в окончательном отгруженном образе), то многоступенчатая сборка (как этот ) будет работать. (Конечно, вы должны убедиться, что nuget.config находится в контексте . перед сборкой.)

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