Wyślij zapytanie Dołącz do Sii

Tworząc kontener możemy określić dostępne w nim zmienne środowiskowe. Ustawianie zmiennych środowiskowych jest istotnym elementem konfiguracji wielu kontenerów. W tym wpisie zostanie przedstawiony sposób konfiguracji kontenera postgres za pomocą zmiennych środowiskowych.

Ten wpis jest częścią serii wpisów o Dockerze. Jeżeli jakieś pojęcie jest używane bez wyjaśnienia to prawdopodobnie zostało wprowadzone w jednym z wcześniejszych wpisów.

* Zachęcamy również do zapoznania się z odświeżonymi w grudniu 2021 i styczniu 2022 artykułami nt. Dockera, które znajdziecie pod tym wpisem.

W poprzednich częściach serii o Dockerze kilkukrotnie korzystaliśmy z kontenera serwera bazy danych postgres, zawsze logując się do niej za pomocą domyślnego użytkownika. Moglibyśmy stworzyć własnego użytkownika, jego bazę danych i nadać mu odpowiednie uprawnienia za pomocą kilku poleceń wywołanych na kontenerze, ale można to zrobić dużo prościej za pomocą zmiennych środowiskowych.

Dostępne zmienne środowiskowe są opisane na stronie obrazu postgres. Konfigurowanie kontenerów za pomocą zmiennych środowiskowych jest często stosowana praktyką i nie ogranicza się tylko do kontenerów obrazu postgres. Do ustawiania zmiennych środowiskowych w kontenerze służy opcja -e w poleceniu docker run.

docker run -e [nazwa]:[wartość] [nazwa obrazu]

Uruchommy kontener obrazu postgres, który będzie tworzył użytkownika o zadanych: nazwie, haśle i nazwie bazy danych. Wykorzystamy do tego następujące zmienne środowiskowe:

  • POSTGRES_USER,
  • POSTGRES_PASSWORD,
  • POSTGRES_DB.
docker run -d -p 6543:5432 -e POSTGRES_USER=docker_user -e POSTGRES_PASSWORD=docker_pass -e POSTGRES_DB=docker_db postgres

Powinniśmy być w stanie otworzyć interaktywny terminal postgresa za pomocą polecenia:

psql -h localhost -p 6543 -d docker_db -U docker_user --password

lub jeżeli nie chcemy podawać hasła osobno:

PGPASSWORD="docker_pass" psql -h localhost -p 6543 -d docker_db -U docker_user

Proces przetwarzania zmiennych środowiskowych podczas tworzenia kontenera można prześledzić czytając skrypt entrypoint.sh wykorzystywany przez obraz postgres. Jest to jednak temat związany z budowaniem własnych obrazów i powinien zostać omówiony w osobnym wpisie.

* Zaktualizowane w 2021 i 2022 artykuły nt. Dockera

Spis wpisów w serii

Ocena:
Autor
Avatar
Piotr Wierzgała

Programista Python zainteresowany tematyką uczenia maszynowego.

Twój adres e-mail nie zostanie opublikowany.

Może Cię również zainteresować

Pokaż więcej postów

Bądź na bieżąco

Zapisz się do naszego newslettera i otrzymuj najświeższe informacje ze świata Sii.

Otrzymaj ofertę

Jeśli chcesz dowiedzieć się więcej na temat oferty Sii, skontaktuj się z nami.

Wyślij zapytanie Wyślij zapytanie

Get an offer

Natalia Competency Center Director

Dołącz do Sii

Znajdź idealną pracę – zapoznaj się z naszą ofertą rekrutacyjną i aplikuj.

APLIKUJ APLIKUJ

Join Sii

Paweł Process Owner

ZATWIERDŹ

This content is available only in one language version.
You will be redirected to home page.

Are you sure you want to leave this page?