Подтвердить что ты не робот

Использование команды Docker ADD для многократных файлов

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

Мне нужно что-то вроде этого

FROM registry:5000/ubuntu:14.04
MAINTAINER Me

# some stuffs 

ADD Sources/{file1,file2,load_file} /etc/Sources/

# more stuffs

Примечание: выражение неверно, но я сделал это, чтобы показать вам, что я ожидаю от команды ADD. (Я думал об этом в регулярных выражениях оболочки).

Итак, как я могу это сделать? Я не могу получить доступ к ссылке filepath.Match. Если у кого есть эти правила, сообщите мне об этом?

Update

Я использую эту ссылку Docker docs

Я использую эту версию:

Client version: 1.3.0
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): c78088f
OS/Arch (client): linux/amd64
Server version: 1.3.0
Server API version: 1.15
Go version (server): go1.3.3
Git commit (server): c78088f
4b9b3361

Ответ 1

Команда ADD и COPY оба позволяют Golang filepath.Match подстановочные знаки

Вы можете найти несколько примеров в тестовом коде для Go: https://golang.org/src/pkg/path/filepath/match_test.go

Правила, воспроизводимые здесь для тех, кто в Китае, которые не могут получить доступ к Google/golang.org:

    '*'         matches any sequence of non-Separator characters
    '?'         matches any single non-Separator character
    '[' [ '^' ] { character-range } ']'
                character class (must be non-empty)
    c           matches character c (c != '*', '?', '\\', '[')
    '\\' c      matches character c

character-range:
    c           matches character c (c != '\\', '-', ']')
    '\\' c      matches character c
    lo '-' hi   matches character c for lo <= c <= hi

Ответ 2

Обычно вы помещаете все соответствующие файлы в подкаталог, а затем просто ADD этот каталог, чтобы принести их в изображение.

Ответ 3

Пример того, как добавить файлы с ext SO в каталог:

ADD modules/*.so /usr/local/apache2/modules/

или вы можете добавить все файлы в каталог

ADD modules/* /usr/local/apache2/modules/