2015-12-22 19 views
7

bir Docker kapta PostgreSQL'i çalıştırırken, resmi PostgreSQL Docker Image documentation yönetici parolası gibi bir çevre değişkeni ayarlamak gerektiğini belirtir:Belirleme süper PostgreSQL şifresi Docker Konteyner

docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres 

Komut dosyalarında düz metin şifresini kodlamak istemeyenler için, dikkate alınması gereken daha güvenli seçenekler var mı?

cevap

4

Yapılandırma ayarlarını çevre değişkenleri olarak enjekte etmek, 12 factor app web sitesi tarafından önerilen uygulama yapılandırması yaklaşımıdır.

docker run -d mydockerapp --config mydevconfig.yaml 

Ama gerçekten ortam değişkenleri kullanımı esneklik açısından kenarı vardır:

Alternatif bunu özel yapılandırma dosyasından yapılandırma var okur kendi kabı oluşturabilir çünkü tüm platformlarda her yerde mevcuttur. Ortam değişkenlerini daha lezzetli hale getirmek için bunları bir dosya içinde belirtebilirsiniz. Bu en azından bir süreç listeden kimlik bilgilerini toplamaktadır olamazdı aynı makinede kötü niyetli bir kullanıcı sağlayacaktır:

: Son olarak

$ cat env.db 
POSTGRES_DB=myappdb 
POSTGRES_USER=admin 
POSTGRES_PASSWORD=pleasechangeme 

$ docker run --name postgres --env-file=env.db -d postgres 

, ben docker daha iyi gizli destek için olağanüstü özellik istekleri bir dizi olduğunu keşfetti benim deneyim kolaylık olarak