Altbilgi içeriğine atla
IRONSECUREDOC KULLANıMı

Docker Compose Ortam Değişkenleri (Geliştirici Eğitimi)

Farklı ortamlarda uygulama dağıtımı genellikle uyumluluk baş ağrılarına neden olur. Bir uygulama geliştiricinin makinesinde mükemmel çalışabilir ancak test veya üretimde, işletim sistemleri, bağımlılıklar veya yapılandırma farklılıklarından dolayı sorunlarla karşılaşabilir. Docker, uygulamaları dağıtım yapılacak her türlü ortamda tutarlılık sağlayarak çalışabilen, ihtiyaç duyulan her şeyi kapsayan kendi kendine yeten birimlere paketleyerek bu sorunu çözer.

Docker Compose, farklı ayarlarda yapılandırmayı basitleştirmek için çevre değişkenlerini kullanması sayesinde konteynerlaştırılmış uygulamalara güçlü faydalar sağlar. Anahtar ayarların kodun dışında yönetilmesine izin vererek, Docker Compose, karmaşık uygulamaların dağıtımını daha basit ve güvenli hale getirir. Bu avantajlara dayanarak, bu makale ayrıca şifreleme ve redaksiyon için yapılandırmalarla başa çıkmada Docker Compose'un esnekliğini kullanarak güvenli belge işleme için IronSecureDoc nasıl kullanacağınızı gösterir.

Docker nedir?

Docker, uygulama geliştirmeyi, dağıtımını ve bir sistemde çalışmasını kapsülleme yöntemiyle kolaylaştıran açık kaynaklı bir sistemdir. Konteynerler, geliştirme makinelerinden üretim sunucularına kadar her yerde farklı sistemlerde uygulama ve bağımlılıklarını çalıştırabilen ultra hafif taşınabilir birimlerdir. Geleneksel sanal makinelerle karşılaştırıldığında, konteynerlar, ana bilgisayarın işletim sistemi çekirdeğini paylaşır ve bu nedenle çok daha hızlı ve verimlidirler.

Docker Compose Ortam Değişkenleri (Geliştirici Eğitimi): Şekil 1 - Docker web sayfası

Bu, Docker görüntüleri şeklinde sanallaştırılmış bir şablonun, bu konteyner setini oluşturup sürdürmek için kullanılabileceği anlamına gelir. Ayrıca, platform, bir nevi bir konteyner görüntü deposu olan Docker Hub'u içerir. Bu teknolojinin güzelliği, ölçeklenebilirlik, taşınabilirlik ve verimlilik ile ilgili kullanım kolaylığında yatmakta olup, bu da onu birçok DevOps ve buluta dayalı geliştirme iş akışında oldukça popüler hâle getirmiştir.

Docker-Compose'da Çevre Değişkenleri Nedir?

Docker'da bir anahtar-değer çifti şeklindeki çevre değişkeni, kapsüllenen uygulamanın ayarlarını yapılandırmak için kullanılır. Bu tür değişkenler, uygulamanın kendisinin davranışını kodunu değiştirmeden kontrol edebilmek için kullanılabilir çünkü veritabanı kimlik bilgileri ve API anahtarları veya çevre modları (örneğin: geliştirme, üretim) gibi konfigürasyonlar kolayca değiştirilebilir.

Docker'da bir çevre nitelik Docker dosyasında, docker-compose.yml dosyası içerisinde tanımlanabilir veya docker run komutunu kullanarak çalışma anında geçirilebilir. Çevre değişkenlerinin kullanımıyla, Docker farklı ortamlara tutarlı ve esnek uygulama dağıtımına izin verir ve şifreler ve API jetonları gibi hassas verileri daha etkili bir şekilde yönetir.

Docker'da Çevre Değişkenleri Nasıl Oluşturulur?

Docker'da çevre değişkenlerini tanımlamanın birden fazla yolu vardır. Docker Compose dosyası, docker-compose.yml dosyası ile, bir çevre dosyasında veya hatta çalışma anında, docker run komutunu yürütürken tanımlanabilirler. Unutmayın, çevre değişkenlerinin ana yapılandırma dosyasından ayrı tutulması, değişkenlerin daha kolay organize edilmesine yol açar! İşte değişkenlerinizi tanımlamak için uygulanabilecek çeşitli yöntemlerin bir listesi.

Docker dosyasında Çevre Değişkenlerini Ayarlama

Environment (ENV) komutu kullanılarak çevre değişkenlerini doğrudan Docker dosyasında tanımlayabiliriz. Bu, Docker görüntünüzde değişkenler için varsayılan değerler dahil etmek isterseniz yardımcı olabilir.

# Dockerfile
# Set the application environment
ENV APP_ENV=development
# Set the database URL
ENV DATABASE_URL=postgres://user:password@db:1234/mydev

Docker dosyasında tanımlanan değerlerle çevre değişkenlerinin ayarlanması, otomatik olarak konteynırın çalışma anında uygulanır.

Docker-Compose.yml'de Çevre Değişkenlerini Ayarlama

Bir docker-compose.yml içinde çevre anahtar kelimesinden faydalanarak her hizmete yönelik çevre değişkenleri tanımlayabiliriz. Bu, Docker Compose'ı birkaç hizmeti yönetmek için kullandığınızda kullanışlıdır.

version: '3.8'
services:
  myapp:
    image: myapp:latest
    environment:
      - APP_ENV=development
      - DATABASE_URL=postgres://user:password@db:1234/mydev
version: '3.8'
services:
  myapp:
    image: myapp:latest
    environment:
      - APP_ENV=development
      - DATABASE_URL=postgres://user:password@db:1234/mydev
YAML

Çalışma Zamanında Çevre Değişkenleri Ayarlama

Bir konteynır çalıştırırken -e bayrağıyla birlikte docker run komutunu kullanarak çevre değişkenlerini belirtebiliriz. Bu, büyük olasılıkla Docker dosyasına eklemeyeceğiniz geçici ve dinamik değerler için iyidir.

docker run -e APP_ENV=development -e DATABASE_URL=postgres://user:password@db:1234/mydev myapp:latest
docker run -e APP_ENV=development -e DATABASE_URL=postgres://user:password@db:1234/mydev myapp:latest
SHELL

Çevre Dosyalarını Kullanma (.env)

Ortam değişkenlerini .env gibi bir dosyada saklayabilir ve bunları Docker konteynerlerinize yükleyebilirsiniz. Docker Compose'ta bunu env_file yönergesiyle referans alacağız.

# .env file
APP_ENV=production
DATABASE_URL=postgres://user:password@db:1234/mydev
# .env file
APP_ENV=production
DATABASE_URL=postgres://user:password@db:1234/mydev
SHELL

Çevre dosyalarının yardımıyla çevre değişkenlerini yapılandırma dosyalarının dışına çıkartarak birçok dosyayı yönetebilirsiniz.

IronSecureDoc nedir?

IronSecureDoc for Docker, geliştiricilerin konteynerleşmiş uygulamalarına güvenli belge işlem yeteneği eklemelerini kolaylaştırır. Docker'ı öğrendikten sonra, ASP.NET Core uygulamanızı IronSecureDoc ile birlikte, dağıtım ve ölçeklenebilirliği kolaylaştıran homojen bir ortamda kapsülleyebilirsiniz. Bunu yapmak için, ASP.NET Core uygulamanızın oluşturulmasını yöneten ve diğer kurulum skriptlerini veya yapılandırmaları olasılıkla gereksinimleri işler hale getirmek için yöneten bir Docker dosyası oluşturacaksınız.

Docker Compose Ortam Değişkenleri (Geliştirici Eğitimi): Şekil 2 - IronSecureDoc web sayfası

Bunun yanında, birlikte hizmet bağımlılıklarını ve çevre değişkenlerini belirten ve bağlantıyı sağlamak için haritalanmış portlar içeren bir docker-compose.yml dosyası bulunur. Bu, belge güvenlik görevlerinin gerçekleştirilmesini çok daha erişilebilir hale getirir, böylece uygulamanız geliştirme veya üretim dışında bir ortamda etkili ve verimli bir şekilde çalışabilir. IronSecureDoc'un Kurulumu ve Yapılandırılması Docker'da olduğu gibi, IronSecureDoc'un uygun kurulumu ve yapılandırılması, belge şifreleme, redaksiyon vb. yeteneklerini düzgün bir şekilde gerçekleştirmek için gereklidir.

IronSecureDoc'un Temel Özellikleri

IronSecureDoc, PDF güvenliği ve belge yönetimi için güçlü bir dizi özellik sunar:

  • Şifreleme: Belge mahremiyetini korumak için parola tabanlı güvenlik ile 128 veya 256 bit şifreleme sağlar.
  • Redaksiyon: Kişisel tanıtıcılar gibi hassas bilgileri kaldırarak mahremiyet standartlarına ve düzenlemelere uygunluk sağlar.
  • Dijital İmza: Belge doğruluğunu sağlamak için pfx veya p12 sertifikaları ile dijital imzalama ve noterlik desteklenir.
  • REST API: Diğer yazılımlarla ve iş akışlarıyla kolay entegrasyon sağlayan esnek bir API.
  • Docker Entegrasyonu: Doğal Docker desteği, bulut veya yerinde bulunan uygulamalar için dağıtımı ve ölçeklendirmeyi basitleştirir.

Bu özellikler, hassas belgeleri işleyen yasal, sağlık ve finans gibi sektörler için IronSecureDoc'u mükemmel bir seçenek haline getirir.

IronSecureDoc Kurulumu ve Çalıştırılması

Adım 1

IronSecureDoc'u kurmak için, bir terminal penceresinde veya Komut İstemi'nde IronSecureDoc Docker görüntüsünü depodan almak için aşağıdaki komutu çalıştırın.

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

Docker Compose Ortam Değişkenleri (Geliştirici Eğitimi): Şekil 3 - IronSecureDoc imajını almak için konsol çıktısı

Adım 2

IronSecureDoc görüntüsü çekildikten sonra, görüntüyü Docker konteynerında çalıştırmak için aşağıdaki docker-compose komutunu kullanabiliriz.

docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
SHELL

Docker Compose Ortam Değişkenleri (Geliştirici Eğitimi): Şekil 4 - IronSecureDoc imajını çalıştırırken alınan konsol çıktısı

Iron Software'ın resmi deposunu çalıştırmak için docker kapsayıcısını kullanıyoruz. Yukarıda gösterilen komut satırı, aşağıda açıklanan birkaç parçaya ayrılmaktadır.

Komut Açıklaması

  • docker container run - Bu komut verilen imajı kullanarak yeni bir Docker konteyneri oluşturur ve başlatır.
  • --rm - Çalışmayı durdurduğunda konteyneri hemen otomatik olarak temizler. Herhangi bir işlemin tamamlanması sırasında kullanılmayan tüm konteynerları kaldırır.
  • -p 8080:8080 - Konteynerin 8080 numaralı bağlantı noktasını yayınlar, böylece bilgisayarınızda http://localhost:8080 adresinden erişebilirsiniz.
  • -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> - IronSecureDoc_LicenseKey adında çalışan konteynerde bir ortam değişkeni ayarlar ve IronSecureDoc'un lisanslı özelliklerini açmanıza ve kullanmanıza olanak tanır. <IRONSECUREDOC_LICENSE_KEY> 'yı gerçek anahtarınızla değiştirin.
  • -e ENVIRONMENT=Development - Ortam değişkeni Geliştirme olarak ayarlanmıştır. Bu, konteynerin geliştirme modunda çalıştırılması gerektiği anlamına gelir. Normalde, bu konteyner test veya hata ayıklama durumları için kullanılır; bu dışında, üretim dışı yapılandırmalardan farklıdır.
  • -e HTTP_PORTS=8080 - Bu ortam değişkeni, konteynerin HTTP trafiği için 8080 numaralı bağlantı noktasını açması ve dinlemesi gerektiğini belirtmek için kullanılır. Bu belirli port üzerinden konteyner içindeki hizmete erişimi sağlar.
  • ironsoftwareofficial/ironsecuredoc:latest - Bu Docker imajıdır. IronSecureDoc için Docker deposundan görüntünün en son sürümünün kullanılması gerektiğini belirtir.

IronSecureDoc Konteyneri

IronSecureDoc'un REST API'si, kullanıcıların belgeleri düzenledikten, onayladıktan ve şifreledikten sonra Docker içinde çalıştırmasına olanak tanır. IronSecureDoc'u bir Docker konteynerinde başlattıktan sonra API uç noktaları ve Swagger UI ile belgeler için bir bağlantıya buradan ulaşabilirsiniz: http://localhost:8080/swagger/index.html.

Docker Compose Ortam Değişkenleri (Geliştirici Eğitimi): Şekil 5 - API uç noktaları ile etkileşimde bulunmanız için Swagger UI

Yukarıdaki örnekten, şifreleme için bir belge göndermek üzere IronSecureDoc API'ye bir POST isteği gönderebiliriz:

curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
SHELL

Bunu yaparak, IronSecureDoc belgeyi alacak ve gerekli şekilde şifreleyecektir.

Sonuç

Özetle, Docker Compose'un ortam değişkenleri, uygulamaların yapılandırmasını son derece esnek ve verimli bir şekilde sağlar çünkü yapılandırma detayları uygulama kodundan otomatik olarak ayrılır. Sonuç olarak, geliştirme, test ve üretim gibi farklı ortamların yönetimi daha kolaydır, çünkü yalnızca bir uygulamanın API anahtarları, veritabanı kimlik bilgileri ve ayarları gibi değişkenleri değiştirilir, kodu değil.

IronSecureDoc uygulaması için Docker Compose kullanmak, örneğin IronSecureDoc_LicenseKey kimlik bilgilerini güvenli bir şekilde yönetmek için ortam değişkenlerinden yararlanır ve aynı zamanda HTTP portlarını veya tercih edilen ortam modunu geliştirme veya üretim olarak belirtmek için ortam değişkenleri kullanır. Kurulum için ortam değişkenleri kullanmak, IronSecureDoc'u dağınık olmayan ve ölçeklenmesi zor yapılandırmalarla dağıtmayı basitleştirir ve güvenliği artırır.

Gelişmiş özellikler, IronSecureDoc'un geçerli bir lisansı ile erişilebilir hale gelir. Aracın uygulanması belirli kullanım şartlarına sıkı sıkıya bağlıdır. Iron Software tarafından sunulan diğer yüksek performanslı kütüphaneleri de geliştirme sürecini daha kolay ve hızlı hale getiren ve PDF'ler, metin tanıma ve barkodlarla çalışabilen sağlam işlevsellikler sunarak kullanabilirsiniz.

Docker Compose Ortam Değişkenleri (Geliştirici Eğitimi): Şekil 6 - IronSecureDoc lisanslama sayfası

Sıkça Sorulan Sorular

Docker Compose uygulama dağıtımını nasıl iyileştirir?

Docker Compose, ortam değişkenlerini kullanarak uygulama kodunu değiştirmeden yapılandırmaları harici olarak yöneterek uygulama dağıtımını iyileştirir, böylece farklı ortamlar arasında kolay ölçekleme ve uyarlama sağlar.

Docker'da ortam değişkenleri ne rol oynar?

Docker'daki ortam değişkenleri, uygulama ayarlarını koddan bağımsız olarak yapılandıran anahtar-değer çiftleridir, parolalar ve API anahtarları gibi hassas bilgiler için güvenli yönetim sağlar.

IronSecureDoc, güvenli belge işleme için Docker ile nasıl entegre edilir?

IronSecureDoc, çekilebilen ve Docker komutları kullanılarak çalıştırılabilen bir Docker görüntüsü sağlayarak Docker ile bütünleşir. Şifreleme, kısımlama ve dijital imzalama gibi güvenli belge işleme özelliklerini yapılandırmak için ortam değişkenlerini kullanır.

Docker Compose'da ortam değişkenleri kullanmanın faydaları nelerdir?

Docker Compose'da ortam değişkenleri kullanmak, esnek yapılandırma yönetimi, uygulama kodunun dışında kalan hassas verilerin güvenliğini artırır ve çeşitli ortamlar arasında dağıtım süreçlerini kolaylaştırır.

IronSecureDoc'u bir Docker ortamında nasıl çalıştırırsınız?

IronSecureDoc'u bir Docker ortamında çalıştırmak için docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=-e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest komutunu kullanarak, kurulum için gerekli ortam değişkenlerini belirleyin.

IronSecureDoc, belge güvenliği için hangi özellikleri sağlar?

IronSecureDoc, belge şifrelemesi, kısımlama, dijital imzalama ve kapsüllenmiş ortamlarda güvenli belge işleme için Docker ile sorunsuz entegrasyon gibi özellikler sunar.

Docker Compose kurulumunda ortam değişkenleri nasıl ayarlanır?

Docker Compose'ta ortam değişkenleri docker-compose.yml dosyası, ortam dosyaları veya çalışma zamanında kullanılan komutlar aracılığıyla ayarlanabilir, uygulama yapılandırmalarının yönetiminde esneklik ve güvenlik sağlar.

Docker dağıtımlarında konfigürasyonu koddan ayırmak neden önemlidir?

Docker dağıtımlarında konfigürasyonu koddan ortam değişkenleri yoluyla ayırmak, güvenliği artırdığı, farklı ortamlar arasında yönetimi basitleştirdiği ve hassas bilgileri açığa çıkarma riskini azalttığı için önemlidir.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara