Post
#1
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Hej,
idzie w komendzie docker-compose up -d dodac jeszcze zmienna, ktora zostanie przekazana do budowanego pliku docker-compose.yml ? Przyklad o co mi chodzi: docker-compose up -d --env:usr=dev a w pliku docker-compose.yml mam bede mial np. taki kod extra_hosts: - "$usr.jakasstrona.pl:162.242.195.82" W wyniku czego /etc/hosts kontenera pojawi mi sie wpis 162.242.195.82 dev.jakasstrona.pl edit: zmierzam do tego, ze chce przygotowac uniwersalne srodowisko dla naszego zepolu. Niestety kazdy z nas odpala jedna aplikacje pod wlasnymi adresami. Ja pod: nospor.blabla.pl Kumpel pod: nickkumpla.blabla.pl itd Chodzi o to, by tylko w komendzie docker-compose up -d podac jeszcze nasza nazwe i powstanie odpowiedni wpis w kontenerze. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%)
|
Można w docker-compose.yml wykorzystać zmienne zapisane w sesji lub zapisane w .bashrc. Od wersji 1.5 w compose można wykorzystać zmienne bashowe: https://github.com/docker/compose/blob/1290...le-substitution
Jeżeli już tą zmienną usr masz zapisaną, to wystarczy że dodasz do swojej konfiguracji: Kod extra_hosts: - "$DOMAIN_USR.jakasstrona.pl:162.242.195.82" Jeżeli nie, to musisz zrobić zarówno export (żeby wykorzystać w tej samej sesji terminala) jak i dorzucić do .bashrc tą zmienną, co by pomiędzy restartami maszyny mieć zapisane te dane. U mnie w firmie każde repo ma też install.sh w którym sobie wrzucamy takie rzeczy przy pierwszym odpaleniu kontenera. Możesz takie rzeczy wrzucić sobie w taki sposób: Kod usr="nospor" sed -i '/DOMAIN_USR/d' ~/.bashrc ( echo "export DOMAIN_USR=\"$usr\""; echo ) >> ~/.bashrc export DOMAIN_USR="$usr" sed służy tutaj za wykasowanie tej linijki z bashrc jeżeli taka już istnieje, co by nie dorzucać ciągle tego samego przez pomyłkę. Ewentualnie jak nie chcecie sobie takich rzeczy eksportować możecie zrobić to tak: Kod DOMAIN_USR=nospor docker-compose up -d Wtedy po prostu będziesz miał odczytaną tą zmienną jednorazowo, ale każdy restart będzie wiązać się z właśnie użyciem tej zmiennej przed samą komendą. No ale masz kilka wariantów (IMG:style_emoticons/default/wink.gif) Ten post edytował by_ikar 7.02.2016, 12:18:59 |
|
|
|
nospor [docker] zmienna srodowiskowa przekazana do .yml 6.02.2016, 21:14:50
nospor Normalnie bajera
O to chodziło
To skoro juz tak ... 7.02.2016, 12:59:24
by_ikar Jeżeli chodzi o nginxa on niestety nie odczytuje z... 7.02.2016, 17:53:37
nospor wildcard - w pierwszej chwili - ok, tak, to moze z... 7.02.2016, 21:09:17
by_ikar Genialny to może nie, bardziej doświadczony, dlate... 8.02.2016, 08:23:51
nospor Tak, plik .sh juz mam. Jednak po tym temacie odchu... 8.02.2016, 10:59:38 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 16:22 |