Docker --ENV Parametresi ve Ortam Değişkenleri
Docker --env
parametresi, container oluşurken veya çalıştırılırken environment variable'ların (ortam değişkenlerinin) tanımlanmasını sağlar. Bu sayede container içerisinde kullanılmasına olanak tanır ve container'lar arasında değişkenlerin paylaşılmasını ve yapılandırmasını kolaylaştırır.
Bu environment variable'lar, container içerisinde çalışan uygulamaların veya komutların çalışmasını etkileyebilir. Örneğin, bir web uygulamasının çalışması için gerekli olan veritabanı adresini ve kullanıcı adını içeren environment variable'lar tanımlanabilir.
Örneğin, aşağıdaki komut "my_container" adlı container'ı oluşturur ve "APP_NAME" adlı bir environment variable tanımlar:
docker run --name my_container --env APP_NAME=MyApp ubuntu
Artık bu environment variable container içerisinde kullanılabilir. Örneğin Linux işletim sisteminde "echo $APP_NAME
" komutu ile bu değişkenin değerini görebilirsiniz.
Aynı zamanda run komutunun sırasında birden fazla environment variable tanımlanabilir. Örnek olarak:
docker run --name my_container --env VAR1=value1 --env VAR2=value2 ubuntu
Ortam değişkenlerini container çalışmakta iken de değiştirebilmek için "docker update
" komutu kullanılabilir. Örnek olarak:
docker update --env VAR1=new_value my_container
Bu komut "my_container" adlı container için "VAR1" adlı environment variable'ın değerini "new_value" olarak günceller.
Bir dosyadan toplu şekilde environment variable sağlamak için, "docker run" komutunun "--env-file
" parametresi kullanılabilir. Bu parametre, bir dosyadaki environment variable'ların container oluşurken veya çalıştırılırken tanımlanmasını sağlar. Örneğin, aşağıdaki komut "my_container" adlı container'ı oluşturur ve "env_file.txt" dosyasındaki environment variable'ları tanımlar:
docker run --name my_container --env-file env_file.txt ubuntu
"env_file.txt" dosyası, environment variable'ların bir satırından bir satıra listelendiği bir text dosyasıdır. Her satır bir environment variable tanımı içermelidir ve formatı "VARIABLE_NAME=VALUE
" şeklinde olmalıdır. Örnek olarak:
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=password
Bu şekilde, bir dosyadan toplu şekilde environment variable'ları tanımlayarak container oluşturabilirsiniz. Ayrıca container çalışmakta iken de env_file parametresi ile değiştirebilirsiniz.
docker update --env-file env_file.txt my_container
Bu komut "my_container" adlı container için "env_file.txt" dosyasındaki environment variable'ları günceller.
Docker derslerine sıradaki yazı ile devam edebilirsiniz: