Как правильно настроить docker-sync для исключения папок
Я пытаюсь настроить docker-sync, чтобы исключить папку app / cache и app / logs, но она не работает.
Вещи, которые я пробовал:
Использование sync_excludes: ['.idea', 'app / cache /', 'app / logs /'], но оно будет преобразовано во что-то подобное
command unison -ignore='Name .idea' -ignore='Name app/cache/*'
-ignore='Name app/logs/*'
Тогда я попытался использовать sync_args и установить так:
sync_args:
- "-debug verbose"
- "-ignore='Path app/cache'"
- "-ignore='Path app/logs'"
command unison -ignore='Name .idea' -ignore='Name systems' \
-debug verbose -ignore='Path app/cache/*' -ignore='Path app/logs/*'
глядя на логи я вижу это
[unox][DEBUG]: recvCmd: DIR
[unox][DEBUG]: sendCmd: OK
[fswatch+] >> OK
[pred] immutable 'app/cache' = false
[pred] ignore 'app/cache/prod' = true
[pred] ignorenot 'app/cache/prod' = false
[ignore] buildUpdateChildren: ignoring path app/cache/prod
Но это все еще видит события, инициируемые, и это все еще синхронизируется с моим хостом.
[pred] ignore 'app/cache/prod/annotations/5702f47f407ddb07532bfd60d8ea2919489ef4bc#__construct.cache.php' = false
[pred] ignore 'app/cache/prod/annotations/f21b469a2214195ff16e2af43f249bdbfa245c25#findPublishedOr404.cache.php' = false
Кто-нибудь знает, что мне не хватает?
моя последняя версия выглядит так:
version: "2"
options:
# optional, activate this if you need to debug something, default is false
# IMPORTANT: do not run stable with this, it creates a memory leak, turn off verbose when you are done testing
verbose: true
syncs:
#IMPORTANT: ensure this name is unique
dt-akeneo-unison-sync:
notify_terminal: true
# which folder to watch / sync from - you can use tilde (~), it will get expanded. Be aware that the trailing slash makes a difference
# if you add them, only the inner parts of the folder gets synced, otherwise the parent folder will be synced as top-level folder
src: './'
# the files should be own by root in the target cointainer
sync_userid: 1000
sync_strategy: 'unison'
# optional, a list of regular expressions to exclude from the fswatch - see fswatch docs for details
watch_excludes: ['\.git', '\.gitignore', '.*\.md']
sync_args:
- "-debug verbose" #force Unison to choose the file with the later (earlier) modtime
- "-ignore='Path app/cache'"
- "-ignore='Path app/logs'"
- "-ignore='Path .git'"
- "-ignore='Path .git'"
- "-ignore='Path vendor'"
- "-ignore='Path upgrades'"
- "-ignore='Path systems'"
# optional: use this to switch to fswatch verbose mode
watch_args: '-v'
Мой Env: {11:41}~ ➭ docker -v Docker версия 17.09.0-ce, сборка afdb6d4
{11:42} ~ ➭ docker-sync -v 0.4.6
SO: OSx 10.11.6
Выполнение моих проектов в подключенной файловой системе с учетом регистра, созданной с использованием https://gist.github.com/scottsb/479bebe8b4b86bf17e2d/ dev / disk2s2 в /Users/neisantos/src (hfs, local, nodev, nosuid, journeled, noowners, nobrowse)
1 ответ
Не знаю, уже слишком ли поздно.
У меня почти такая же настройка:
- OSx 10.12.6
- Docker версия 18.06.0-ce, сборка 0ffa825
- docker-sync v 0.5.7
Моя структура проекта выглядит следующим образом
./
build
changes
docker
etc
var
some-yml-files.yml
Мой docker-sync.yml выглядит так
version: "2"
options:
verbose: true
syncs:
my-appcode-sync: # tip: add -sync and you keep consistent names as a convention
src: '.'
# sync_strategy: 'native_osx' # not needed, this is the default now
sync_excludes: ['docker/var', 'changes', '.git', '.idea']
Я взял это с https://github.com/EugenMayer/docker-sync/issues/421
Обратите внимание src: '.'
, Изначально я использовал src: './'
Как и вы, игнорирование папок тоже не работает. После удаления /
это сработало для меня.