2017-01-29 12 views
3

У меня есть Dockerfile с помощью следующей строки:тильды не работает в Докер COPY Команда

COPY *.zip ~user1 

Пользователь user1 уже существует и имеет домашний каталог (т.е. /home/user1). Цель, конечно же, состоит в том, чтобы скопировать zip-файл в домашний каталог этого пользователя, однако результатом этого является то, что zip-файл копируется в файл с именем буквально /~user1 на картинке.

Следующая работает, как ожидалось:

COPY *.zip /home/user1 

Является ли это ошибка в Докер или есть ограничение связано с тильды, что я не в курсе?

Использование Docker 1.13.0 на Mac.

+1

расширение Тильда является особенностью различных Unix/Linux оболочек. Команда копирования не обрабатывается ни одной из этих оболочек. – BMitch

ответ

7

Расширение Тильды для COPY не поддерживается.

От The COPY docs:

dest является абсолютным путем, или путь по отношению к WORKDIR, в котором источник будет скопирован внутри контейнера назначения.

Пример:

COPY test relativeDir/ # adds "test" to `WORKDIR`/relativeDir/ 
COPY test /absoluteDir/ # adds "test" to /absoluteDir/