Я пытаюсь создать Dockerfile, который добавляет папку, имеющуюся в моей локальной файловой системе Windows, в контейнер Windows.Однако у меня возникают проблемы с определением правильного синтаксиса.
В частности, я пытаюсь скопировать содержимое каталога [C: \ Foo Source Files \ Zog Foo \ Bar] в [C: \ Bar] нав контейнере Windows Docker.
До сих пор я пробовал следующие варианты:
ADD ["C:\Foo Source Files\Zog Foo\Bar", "C:/Bar"]
ADD ["C:\Foo Source Files\Zog Foo\Bar\", "C:/Bar/"]
Это приводило к следующей ошибке при попытке запустить сборку образа:
failed to process "[\"C:\\Foo": unexpected end of statement while looking for matching double-quote
Напротив, следующие варианты ...
ADD ["C:/Foo Source Files/Zog Foo/Bar", "C:/Bar"]
ADD ["C:/Foo Source Files/Zog Foo/Bar/", "C:/Bar/"]
ADD ["C:\\Foo Source Files\\Zog Foo\\Bar\\", "C:/Bar/"]
ADD ["C:\\\\Foo Source Files\\\\Zog Foo\\\\Bar\\\\", "C:/Bar/"]
ADD ["C:\\\\Foo Source Files\\\\Zog Foo\\\\Bar", "C:/Bar/"]
ADD C:/Foo Source Files/Zog Foo/Bar/, C:/Bar/
ADD C:\Foo Source Files\Zog Foo\Bar\, C:/Bar/
... вызвали следующую различную ошибку:
ADD failed: CreateFile \\?\C:\ProgramData\Docker\tmp\docker-builder997952273\Foo Source Files\Zog Foo\Bar: The system cannot find the path specified.
Этот вариант ...
ADD C:\Foo Source Files\Zog Foo\Bar\, C:/Bar/
... вызвал эту немного другую ошибку:
ADD failed: CreateFile \\?\C:\ProgramData\Docker\tmp\docker-builder997952273\Foo: The system cannot find the path specified.
После этого я попытался отбросить переименование моих исходных папок, чтобы они не содержали пробелов, и попытался сделать это с помощью следующего оператора:
ADD C:\FooSourceFiles\ZogFoo\Bar\, C:/Bar/
... но это снова привело к следующей ошибке:
ADD failed: CreateFile \\?\C:\ProgramData\Docker\tmp\docker-builder197358441\C:FooSourceFilesZogFooBar,: The system cannot find the file specified.
Я также пробовал использовать дополнительные косые черты в качестве escape-символа ...
ADD C:\\FooSourceFiles\\ZogFoo\\Bar\\, C:/Bar/
... но это также не удалось, так как, очевидно, Docker ищет файл в подкаталоге докерарабочий каталог, хотя я пытался указать ему поиск по абсолютному пути
ADD failed: CreateFile \\?\C:\ProgramData\Docker\tmp\docker-builder492157702\FooSourceFiles\ZogFoo\Bar\,: The system cannot find the path specified.
Любая помощь с этим будет принята с благодарностью.
Редактировать: Объяснение, почему это не дубликатОшибка инструкции COPY Dockerfile ?: Этот вопрос касается сбоя инструкции COPY, которая возникла из-за неработающей "~ /", а также о контейнерах Linux.Мой вопрос в первую очередь о правильном синтаксисе для использования команды ADD в контейнерах Windows.Я не понимаю, как эти две проблемы связаны, и утвержденный ответ по этой теме даже не относится к моему делу.