Docker Swarm Kullanarak Secret Oluşturma

Docker compose dosyası içerisindeki şifreleri güvende tutmak için farklı yöntemler kullanılabilir.

-.env dosyası oluşturup, değişkenler ile compose dosyasında çağırmak.

-docker swarm kullanımı.

Örneğimizde docker swarm kullanarak bu işlemi nasıl yapacağımızı örnekleyelim.

Docker swarm: Docker tarafından geliştirilmiş, konteynır yönetim ve orkestrasyon aracıdır.

Docker secret: Konteynırların çalışması için gerekli şifre vb verilerin güvenli bir şekilde depolanması için kullanılan bir özelliktir.

Docker ile çalışan, büyüyen yapılarda şifreleri compose dosyasında barındırmak doğru olmadığı gibi, bir secret oluşturup hangi servisler oluşturulan secret’a bağlanmalı, erişebilmeli mantığıyla ilerlersek daha doğru bir yapı oluşturmuş oluruz.

Şimdi bir mariadb veritabanını, mysql root ve mysql user şifrelerini barındıran bir secret oluşturarak ayaklandıralım.

echo “belirlediginizpassword” | docker secret create mysql_root_password

echo “belirlediginizpassword” | docker secret create mysql_user_password

-> Komutu ile secret’ larımızı oluşturalım. Oluşturduğumuz secret’ları portainer da da görüntüleyebilirsiniz.

Image 3 1024x296

Aşağıdaki compose file ile yapımızı swarm modda ayağa kaldırabiliriz.

version: ‘3.8’

services:

  mariadb:

    image: mariadb:10.11

    ports:

      – “3306:3306”

    environment:

      MYSQL_ROOT_PASSWORD_FILE: /run/secrets/mysql_root_password

      MYSQL_DATABASE: database_name

      MYSQL_USER: user_name

      MYSQL_PASSWORD_FILE: /run/secrets/mysql_user_password

    volumes:

      – mariadb_data:/var/lib/mysql

    secrets:

      – mysql_root_password

      – mysql_user_password

secrets:

  mysql_root_password:

    external: true

  mysql_user_password:

    external: true

volumes:

  mariadb_data:

Aşağıdaki komutu çalıştırdığımızda yapımız hazır hale gelecektir.

docker stack deploy -c .\docker-compose.yml mariadb_example_stack

Oluşturmuş olduğumuz stack içerisinde, oluşturduğumuz secret’ ları kullanacak bir mariadb’yi servis olarak ayaklandırmış olduk.

Image 4

password dosyalarının secret üzerinden alındığını ekran görüntüsünde görebilmekteyiz.

Faydalı Olması Dileklerimle,

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir