Linux'ta IronPDF Çalıştırma: Kurulum Rehberi
Linux için IronPdf yaklaşık 280MB boyutundadır (hem IronPdf kodu hem de tüm Chrome tarayıcı dahil). Docker görüntüleri yaklaşık 500MB civarındadır.
Chrome ayrıca Linux dağıtımınıza bağlı olarak değişen bazı temel paketlere ihtiyaç duyar. Çoğu Linux dağıtımında, çeşitli uygulamalar ve kütüphaneler tarafından Linux'ta kullanıldıkları için bu paketler zaten yüklüdür.
Ancak, barebone bir dağıtım kullanıyorsanız, Linux'ta Chrome'un çalışması için gerekli Linux paketlerini yüklemeniz gerekecek.
Not: Hata ayıklamayı kolaylaştırmak için, şunları ayarlayabilirsiniz:
// Enable detailed debugging for IronPdf
IronPdf.Logging.Logger.EnableDebugging = true;
// Specify the log file path
IronPdf.Logging.Logger.LogFilePath = "Default.log";
// Set the logging mode to capture all log data
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
// Enable detailed debugging for IronPdf
IronPdf.Logging.Logger.EnableDebugging = true;
// Specify the log file path
IronPdf.Logging.Logger.LogFilePath = "Default.log";
// Set the logging mode to capture all log data
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
' Enable detailed debugging for IronPdf
IronPdf.Logging.Logger.EnableDebugging = True
' Specify the log file path
IronPdf.Logging.Logger.LogFilePath = "Default.log"
' Set the logging mode to capture all log data
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All
Daha Küçük Bir Docker İmajı Nasıl Yapılır
1. Çalışma Zamanında Paket Kurulumu
Boyutu azaltmanın bir yolu, docker imajını oluştururken değil, çalışma zamanında apt-get komutlarını çalıştırmaktır:
- Dockerfile'ınızdan
apt-getkomutlarını kaldırın. - IronPdf'i başlatmadan veya bir belgeyi oluşturmadan önce
Installation.LinuxAndDockerDependenciesAutoConfig = true;ayarlayın. - Uygulamanızın
apt-getkomutlarını çalıştıracak yeterli izinlerle yürütüldüğünden emin olun.
Not: İlk başlatmanız daha yavaş olacaktır çünkü ilk belgenizi oluşturmadan önce apt-get komutlarının bitmesi gerekmektedir ve bu işlem, imajı yeniden dağıtmak zorunda kaldığınız her sefer tekrarlanacaktır.
Not: Başarılı paket kurulumları gösteren konsol/kayıt girdileri görmelisiniz:
Executing command 'apt install -y libnss3' in '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
libnspr4
The following NEW packages will be installed:
libnspr4 libnss3
0 upgraded, 2 newly installed, 0 to remove and 9 not upgraded.
Executing command 'apt install -y libnss3' in '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
libnspr4
The following NEW packages will be installed:
libnspr4 libnss3
0 upgraded, 2 newly installed, 0 to remove and 9 not upgraded.
2. IronPdf.Slim Kullanın
Sadece IronPdf.dll'i dahil etmeyi ve gerekli dosyaları çalışma zamanında indirmeyi de seçebilirsiniz.
- Projelerinizden IronPdf.Linux (ve diğer IronPdf'leri) NuGet paketlerini kaldırın ve IronPdf.Slim ekleyin.
- IronPdf'i başlatmadan veya bir belgeyi oluşturmadan önce
Installation.AutomaticallyDownloadNativeBinaries = true;ayarlayın. - Dockerfile'ınızın, uygulamanızın tüm çalışma dizinine okuma ve yazma izinleri verdiğinden emin olun (ör.
RUN chmod +rwx /app/runtimes/linux-x64/native/IronCefSubprocess'yıRUN chmod +rwx /app/ile değiştirin).
Not: İlk başlatmanız, NuGet paket indirilip açıldığından daha yavaş olacaktır ve bu işlem resim her yeniden dağıtıldığında tekrarlanacaktır.
Not: Başarılı bir indirme ve çıkarma işlemi gösteren konsol/kayıt girdileri görmelisiniz:
Downloading NuGet package from 'https://www.nuget.org/api/v2/package/IronPdf.Native.Chrome.Linux/2023.1.11387'
Extracting package contents '/app/bin/Debug/netcoreapp3.1/IronPdf.Native.Chrome.Linux.2023.1.11387.nupkg/runtimes/linux-x64/native' to '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Successfully deployed NuGet package 'IronPdf.Native.Chrome.Linux' to '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Successfully located 'IronInterop' at '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Downloading NuGet package from 'https://www.nuget.org/api/v2/package/IronPdf.Native.Chrome.Linux/2023.1.11387'
Extracting package contents '/app/bin/Debug/netcoreapp3.1/IronPdf.Native.Chrome.Linux.2023.1.11387.nupkg/runtimes/linux-x64/native' to '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Successfully deployed NuGet package 'IronPdf.Native.Chrome.Linux' to '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Successfully located 'IronInterop' at '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
3. Sonuç
Özetle, başlangıç konteyner boyutunu azaltmak için:
- IronPdf.Slim NuGet paketini kullanın.
- IronPdf'i yapılandırın:
// Set installation options for Linux and Docker environments
Installation.LinuxAndDockerDependenciesAutoConfig = true;
Installation.AutomaticallyDownloadNativeBinaries = true;
// Set installation options for Linux and Docker environments
Installation.LinuxAndDockerDependenciesAutoConfig = true;
Installation.AutomaticallyDownloadNativeBinaries = true;
' Set installation options for Linux and Docker environments
Installation.LinuxAndDockerDependenciesAutoConfig = True
Installation.AutomaticallyDownloadNativeBinaries = True
- Uygulama klasörünün yazılabilir/çalıştırılabilir olduğundan emin olun:
RUN chmod +rwx /app/
Bu iki maddeyi kullanan çok ince bir Docker imajı, boyutu ~500MB'dan ~200MB'ye düşürmelidir.
Mümkünse, ince bir dağıtım seçmezseniz en iyi performansı göreceksiniz.
Bazı containerize edilmiş ve bulut ortamları kalıcı değildir ve bu nedenle bazen bağımlılıkları tekrar indirmesi veya apt-get komutlarını yeniden çalıştırması gerekebilir, bu da birkaç dakikayı alabilir!
Ancak, bazı geliştiricilerin dağıtımları için katı boyut gereksinimlerine tabi olabileceğinin farkındayız.

