本章ではDockerを用いてローカルマシン上でコンテナを作成し、そのコンテナをローカルマシン上で実行します。
ローカル実行可能なDockerコンテナを作成します。
1. 空のディレクトリを用意し、用意した3つのファイルを配置します。
2 .Linuxコンソールを用いて空の[entrypoint.sh]を生成します。
touch entrypoint.sh
3. [entrypoint.sh]内に、PDF Tool APIに処理させたいコマンドを記述します。
【entrypoint.shの内容】
#!/bin/bash
set -eu
AHPDFToolCmd80 -getFileInfo -d /tmp/input.pdf
4. Linuxコンソールを用いて空の[Dockerfile]を生成します。
Dockerfileとは、コンテナ展開時に実行する処理を記述するための専用ファイルです。「5.」で内容を記述します。
touch Dockerfile
5. Dockerfile内にPDF Tool APIのインストール及び環境変数を記述します。
FROM public.ecr.aws/amazonlinux/amazonlinux:2023
# PDF Tool API の rpm をコピー
COPY AHPDFToolLib80-8.0-MR5.x86_64.rpm /tmp/
# インストール
RUN rpm -i /tmp/AHPDFToolLib80-8.0-MR5.x86_64.rpm
# ライセンスファイル[ptalic.dat] をコピー
COPY ptalic.dat /usr/AHPDFToolLib80/License
# ============================
# 環境変数の設定
# ============================
ENV PTL80_HOME="/usr/AHPDFToolLib80"
ENV PTL80_LIB_FOLDER="${PTL80_HOME}/lib"
ENV PTL80_BIN_FOLDER="${PTL80_HOME}/ToolCmd"
ENV PTL80_LICENSE_FOLDER="${PTL80_HOME}/License"
ENV PTL80_ETC_FOLDER="${PTL80_HOME}/fontconfig"
ENV PTL80_ICC_FOLDER="${PTL80_HOME}/icc"
ENV LD_LIBRARY_PATH="${PTL80_LIB_FOLDER}"
ENV PTL80_LIC_PATH="${PTL80_LICENSE_FOLDER}"
ENV PTL80_FONT_CONFIGFILE="${PTL80_ETC_FOLDER}/font-config.xml"
ENV PTL80_ICCPROFILE_PATH="${PTL80_ICC_FOLDER}"
# PATH 追加
ENV PATH="${PATH}:${PTL80_BIN_FOLDER}"
# 実行用PDF追加
COPY input.pdf /tmp
# 実行用shファイル追加
COPY entrypoint.sh /tmp/entrypoint.sh
RUN chmod 755 /tmp/entrypoint.sh
ENTRYPOINT ["/tmp/entrypoint.sh"]
6. LinuxコンソールでDockerコンテナをビルドします。
docker buildx build -t toolapi-test .
1. コンソールからDockerコンテナを呼び出し、実行します。
docker run --rm toolapi-test
呼び出し後、コンテナが立ち上がり、コンテナ内の[entrypoint.sh]が実行されます。
