‫A co z sekretami do rozwoju lokalnego za pomocą wiersza poleceń Docker Compose. Do tej pory rozmawialiśmy o
‫Swarmie.
‫Ale wróciłem na swoją maszynę i zainstalowałem Docker Compose, którego nie miałem w swoim roju,
‫prawda?
‫Ponownie, Compose nie jest narzędziem do produkcji.
‫Jest przeznaczony do rozwoju.
‫Jestem w tym samym sekretnym katalogu próbek, który mieliśmy wcześniej.
‫Widać, że mam dwa pliki haseł i plik Docker Compose, który mieliśmy w roju. Żeby udowodnić, że nie jestem w roju,
‫mogę zrobić węzeł
‫dokowania ls, a on rzeczywiście
‫powie mi, że to nie jest menedżer roju.
‫Nie jestem w roju, więc nie mam dostępu do bazy danych Swarm ani możliwości umieszczania w niej sekretów.
‫Jak sobie z tym poradzić w rozwoju lokalnym?
‫Idealnie, możemy nadal używać tego samego pliku redagowania.
‫Nadal możemy używać tych samych obiektów, takich jak zmienne środowiskowe dla PostgreSQL.
‫Docker musiał wymyślić sposób na sprawdzenie tego i testowanie.
‫Jeśli zrobimy docker,
‫skomponuj -d, a następnie zrobiliśmy docker compose exec psql. Potem zrobił kot o prowadzeniu sekretów użytkownik psql, w
‫jaki sposób nasz sekret się tam dostał, prawda?
‫Ponieważ nie mamy bazy danych.
‫Cóż, okazuje się, że jest tu trochę magii.
‫Cóż, to nie magia. Po prostu ukrywa się za kulisami, że to, co
‫faktycznie dzieje się z Compose, nie jest bezpieczne, ale działa.
‫Zasadniczo wiąże on wierzchowce w środowisku wykonawczym z rzeczywistym plikiem na moim twardym dysku do kontenera.
‫Po prostu robi -v z tym konkretnym plikiem w tle.
‫Ponownie, to nie jest całkowicie bezpieczne i nie powinno tak być.
‫Jest to po prostu sposób na obejście tego problemu i umożliwienie nam rozwoju przy użyciu
‫tego samego procesu i tej samej tajnej informacji zmiennej środowiskowej, którą mielibyśmy w produkcji,
‫tylko teraz możemy to zrobić również lokalnie. Co jest świetne, ponieważ teraz oznacza to, że możemy się rozwijać przy użyciu tych samych
‫skryptów uruchamiania i w ten sam sposób, w jaki zmienne środowiskowe są wprowadzane do naszego kontenera, tak jak robilibyśmy to w Swarm.
‫I tego naprawdę chcemy.
‫Chcemy dopasować nasze środowisko produkcyjne tak bardzo, jak to tylko możliwe.
‫Aby to zrobić, musisz mieć najnowszą wersję aplikacji Docker Compose.
‫Uważam, że działa tylko w Docker Compose 11.
‫Mam nadzieję, że uważasz, że to całkiem fajne, ponieważ uważam, że to
‫dobry kompromis, aby pozwolić nam używać tajnych poleceń.
‫Teraz wskażę, że działa to tylko z sekretami opartymi na plikach.
‫Nie będzie działać z zewnętrznymi, o których rozmawialiśmy.
‫Jeśli przyjrzymy się plikowi redagowania naprawdę szybko, będę musiał użyć tych opartych na plikach dla mojego lokalnego rozwoju.
‫Być może, jeśli używasz zewnętrznego w swojej produkcji, po prostu będziesz musiał mieć inny plik tworzenia
‫dla rozwoju, który miałby tutaj atrybut pliku i określić przykładowe, fałszywe pliki w tym samym katalogu lub w innym miejscu, w
‫którym możesz je przechowywać, czyli po prostu za pomocą prostego hasła do programowania.