Cách chạy Aspose.Slides cho Java trong Docker
Contents
[
Hide
]
Giới thiệu
Hướng dẫn này giải thích cách đóng gói một ứng dụng Java bằng Aspose Slides với Docker. Các lợi ích chính bao gồm:
- Khả năng tương thích đa nền tảng - Chạy trên Windows, macOS và Linux
- Cách ly phụ thuộc - Không cần cài đặt trên toàn hệ thống
- Triển khai đơn giản - Dễ dàng chia sẻ và thực thi
1. Cài đặt Docker
Windows
Yêu cầu:
- Windows 10/11 Pro/Enterprise/Education (64-bit) với WSL 2 được bật
- Đối với bản Home: Cần cài đặt WSL 2 thủ công
Các bước:
- Tải xuống Docker Desktop for Windows
- Chạy trình cài đặt và làm theo hướng dẫn cài đặt
- Khởi động lại máy tính khi được yêu cầu
- Xác minh cài đặt:
docker --version
macOS
Yêu cầu:
- macOS 10.15 (Catalina) trở lên
- Bộ xử lý Apple Silicon hoặc Intel
Các bước:
- Tải xuống Docker Desktop for Mac
- Kéo ứng dụng vào thư mục
Applicationscủa bạn - Khởi động Docker và chờ quá trình khởi tạo
- Xác minh cài đặt:
docker --version
Linux (Ubuntu/Debian)
Cài đặt:
# Cập nhật danh sách gói
sudo apt update && sudo apt upgrade -y
# Cài đặt các gói cần thiết
sudo apt install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
# Thêm khóa GPG chính thức của Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Thêm một kho lưu trữ ổn định
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Cài đặt Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
# Cho phép người dùng hiện tại chạy các lệnh Docker
sudo usermod -aG docker $USER
newgrp docker
# Xác minh cài đặt
docker --version
2. Cấu hình Dockerfile
Ảnh nền
FROM ubuntu:24.04
Lưu ý: Sử dụng ảnh Ubuntu chính thức từ Docker Hub.
Phụ thuộc
RUN apt-get install -y openjdk-11-jdk wget fontconfig ttf-mscorefonts-installer
- OpenJDK 11: Môi trường chạy Java
- Gói phông chữ: Bao gồm Microsoft Core Fonts
Cài đặt Aspose.Slides
ENV ASPOSE_VERSION=25.3
ENV ASPOSE_JAR=aspose-slides-${ASPOSE_VERSION}-jdk16.jar
ENV ASPOSE_URL=https://releases.aspose.com/java/repo/com/aspose/aspose-slides/${ASPOSE_VERSION}/${ASPOSE_JAR}
- Tải xuống thư viện Aspose Slides với phiên bản cố định
3. Cài đặt dự án
Cấu trúc tệp
aspose-docker/
├── Dockerfile # Cấu hình container
├── TestAspose.java # Mã ứng dụng
└── output/ # Thư mục chứa các PDF được tạo (tự động tạo)
Dockerfile
Tạo một tệp có tên Dockerfile với nội dung:
FROM ubuntu:24.04
# Đặt các biến môi trường
ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
ENV PATH=$JAVA_HOME/bin:$PATH
ENV APP_DIR=/tmp
ENV ASPOSE_VERSION=25.3
ENV ASPOSE_JAR=aspose-slides-${ASPOSE_VERSION}-jdk16.jar
ENV ASPOSE_URL=https://releases.aspose.com/java/repo/com/aspose/aspose-slides/${ASPOSE_VERSION}/${ASPOSE_JAR}
# Tạo thư mục làm việc
RUN mkdir -p ${APP_DIR}
WORKDIR ${APP_DIR}
# Cài đặt các phụ thuộc
RUN apt-get update && \
apt-get install -y --no-install-recommends \
openjdk-11-jdk \
wget \
fontconfig \
ttf-mscorefonts-installer && \
rm -rf /var/lib/apt/lists/*
# Cấu hình phông chữ
RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections && \
apt-get update && \
apt-get install -y --no-install-recommends ttf-mscorefonts-installer && \
fc-cache -f -v
# Tải Aspose.Slides về /tmp
RUN wget ${ASPOSE_URL} -O ${APP_DIR}/${ASPOSE_JAR}
# Sao chép mã nguồn
COPY TestAspose.java ${APP_DIR}/
# Tạo script chạy
RUN echo '#!/bin/bash' > ${APP_DIR}/run.sh && \
echo 'java --add-opens=java.desktop/sun.java2d=ALL-UNNAMED \' >> ${APP_DIR}/run.sh && \
echo ' --add-opens=java.desktop/sun.awt.image=ALL-UNNAMED \' >> ${APP_DIR}/run.sh && \
echo ' --add-opens=java.desktop/sun.font=ALL-UNNAMED \' >> ${APP_DIR}/run.sh && \
echo ' -cp ".:'"${ASPOSE_JAR}"'" TestAspose' >> ${APP_DIR}/run.sh && \
chmod +x ${APP_DIR}/run.sh
# Cấp quyền thực thi cho script một cách rõ ràng
RUN chmod 755 ${APP_DIR}/run.sh
# Biên dịch mã Java
RUN javac -cp "${APP_DIR}/${ASPOSE_JAR}" ${APP_DIR}/TestAspose.java
# Đặt thư mục làm việc
WORKDIR /tmp
CMD ["sh", "-c", "/tmp/run.sh && cp /tmp/output/output.pdf /output"]
Ứng dụng Java
Tạo TestAspose.java với nội dung:
import com.aspose.slides.*;
public class TestAspose {
public static void main(String[] args) throws Exception {
System.out.println("Creating presentation...");
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape autoShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 190, 300, 25);
autoShape.getTextFrame().setText("Greetings from Docker!");
presentation.save("/tmp/output/output.pdf", SaveFormat.Pdf);
} finally {
if (presentation != null) presentation.dispose();
}
System.out.println("Presentation saved as output.pdf");
}
}
4. Xây dựng và Chạy
Xây dựng Image
Chạy lệnh sau trong thư mục chứa Dockerfile của bạn để xây dựng image Docker:
docker build -t aspose-test .
-tđặt tên cho image là “aspose-test”.sử dụng Dockerfile trong thư mục hiện tại
Chạy Container
Chạy lệnh sau trong thư mục chứa Dockerfile của bạn để chạy container Docker:
docker run -v "$(pwd)/output:/output" aspose-test
-vgắn thư mục đầu ra- Tạo
output.pdftrong thư mụcoutputcục bộ của bạn