Mam dwie aplikacje Dart, które muszę dokować. Te dwie aplikacje używają udostępnionego katalogu źródłowego.
Ponieważ Docker zapobiega dodawaniu plików z folderów spoza katalogu kontekstowego ( project/app1
), nie mogę dodawać plików z ../shared
ani z shared
(dowiązanie symboliczne w środku projects/app1
).
W każdym razie szukam sposobu, aby oszukać Dockera.
Moja uproszczona struktura projektu
- projects
- app1
- Dockerfile
- shared (symlink ../shared)
- otherSource
- app2
- Dockerfile
- shared (symlink ../shared)
- otherSource
- shared
- source
Mógłbym przejść o Dockerfile
jeden poziom wyżej i uruchomić docker build
stamtąd, ale potrzebuję dwóch plików Docker (dla app1 i app2) w tym samym katalogu.
Mój obecny pomysł polegał na tym, że gdybym mógł jakoś ukryć fakt, że projects/app1/shared
jest dowiązaniem symbolicznym, problem ten zostałby rozwiązany. Sprawdziłem, czy mogę udostępniać projects
za pomocą Samby i zamontowałem ją gdzie indziej i skonfigurowałem Sambę, aby traktowała dowiązania symboliczne jak normalne foldery, ale nie znalazłem, czy jest to obsługiwane (nie mam dużego doświadczenia z Sambą i jeszcze jej nie wypróbowałem, tylko trochę szukałem) .
Czy jest jakieś inne narzędzie lub sztuczka, które na to pozwalają?
Wolałbym nie zmieniać struktury katalogów, ponieważ spowodowałoby to inne problemy, a także raczej nie kopiowałbym plików.