Linux'ta IronPDF Çalıştırma: Kurulum Kılavuzu
IronPDF for Linux, yaklaşık 280MB (hem IronPDF kodu hem de tüm Chrome tarayıcısı dahil). Docker görüntüleri yaklaşık 500MB civarındadır.
Chrome, Linux dağıtımınıza bağlı olarak değişen bazı temel paketlere de ihtiyaç duyar. Linux dağıtımlarının çoğunda, bu paketler zaten yüklüdür, zira Linux'ta çeşitli uygulama ve kütüphaneler tarafından kullanılırlar.
Ancak, basit bir dağıtım kullanıyorsanız, Linux paketlerini yüklmeniz gerekecektir, böylece Chrome Linux'ta çalışır duruma gelebilir.
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 Docker Görüntüsü Nasıl Yapılır
1. Çalışma Zamanında Paketlerin Yüklenmesi
Boyutu azaltmanın bir yolu, docker görüntüsünü oluştururken değil, çalışma zamanında apt-get komutlarını çalıştırmaktır:
- Dockerfile dosyanızdan
apt-getkomutlarını kaldırın. - IronPDF'yi başlatmadan veya bir belgeyi oluşturmadan önce
Installation.LinuxAndDockerDependenciesAutoConfig = true;ayarını yapın. - Uygulamanızın
apt-getkomutlarını çalıştırmak için yeterli izinlerle çalıştırıldığından emin olun.
Not: İlk başlatma işlemi daha yavaş olacaktır, çünkü ilk belgenizi oluşturmadan önce apt-get komutlarının tamamlanması gerekir ve bu işlem, görüntüyü her yeniden dağıttığınızda tekrarlanacaktır.
Not: Başarılı paket yüklemesini gösteren konsol/kayıt girdilerini 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ımı
Yalnızca IronPdf.dll'i dahil etmeyi ve gerekli dosyaları çalışma zamanında indirmeyi seçebilirsiniz.
- Projenizden IronPdf.Linux (ve herhangi bir başka IronPDF) NuGet paketi(leri)ni kaldırın ve IronPdf.Slim ekleyin.
- IronPDF'yi başlatmadan veya bir belgeyi oluşturmadan önce
Installation.AutomaticallyDownloadNativeBinaries = true;ayarını yapı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'yiRUN chmod +rwx /app/olarak değiştirin).
Not: İlk başlatmanız daha yavaş olacaktır çünkü NuGet paketi indirilip ilk belgenizi işlemeye başlamadan önce çıkarılır ve bu işlem görünüşü her yeniden dağıttığınızda tekrarlanacaktır.
Not: Başarılı bir indirme ve çıkarma işlemini gösteren konsol/kayıt girdilerini 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, ilk konteynır boyutunu küçültmek için:
- IronPdf.Slim NuGet paketi kullanın.
- IronPDF'yi 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 dizininin yazılabilir/çalıştırılabilir olduğunu kontrol edin:
RUN chmod +rwx /app/
Hem 1. hem de 2. maddeleri kullanan çok zayıf bir Docker imajı, ~500MB'tan ~200MB'a küçülmelidir.
Olası olduğunda, daha iyi performans almak için zayıf bir dağıtım tercih ETMEYİN.
Bazı konteyner ve bulut ortamları kalıcı değildir ve bu nedenle zaman zaman bağımlılıkları yeniden indirmek veya apt-get komutlarını tekrar çalıştırmak gerekebilir; bu işlem birkaç dakika sürebilir!
Ancak, bazı geliştiricilerin dağıtımları için katı boyut gereksinimlerine tabi olabileceğini anlıyoruz.

