Docker для Windows: Как инициализировать том с содержимым каталога изображения? - PullRequest
0 голосов
/ 28 августа 2018

Мое изображение имеет следующий каталог: C: \ MyDir. В этом каталоге есть предопределенное содержимое, которое было создано при создании изображения.

Я хотел, чтобы изменения в этом каталоге сохранялись, поэтому я попытался использовать тома, но когда я это делаю и при создании контейнера, C: \ MyDir пуст. Как я понимаю из документации Docker, кажется, что если я использую анонимный том, фактическое содержимое (из изображения) C: \ MyDir будет отражено в томе при его создании, и поэтому внутри контейнера они должны присутствовать, однако это не так - файлы, похоже, не были скопированы с изображения. Конечно, после записи некоторых новых файлов там уже внутри контейнера, файлы отражаются в томе.

Есть идеи, как мне этого добиться? - чтобы сохранить текущие изменения при сохранении исходных файлов из образа?

1 Ответ

0 голосов
/ 14 апреля 2019

В настоящее время Docker для Windows не поддерживает это поведение. В настоящее время эта проблема отслеживается Windows: невозможно поместить данные в тома с docker build на GitHub.

В настоящее время ближайшая альтернатива - сделать что-то вроде этого:

#escape=`
FROM microsoft/windowsservercore
SHELL [ "powershell", "-Command" ]
COPY ".\starter-config" "C:\starter-config"
CMD if ((Get-ChildItem 'C:\config').Length -eq 0) {`
        Copy-Item 'C:\starter-config\*' 'C:\config\';`
    };`
    & 'C:\RunTheServer.ps1'
...