PDF、組版と文書変換のアンテナハウス株式会社

サイトマップ
hr トップ
ページ
hr デスクトップ
製品情報
hr システム
製品情報
hr DITA
サービス
hr 電子書籍
サービス
hr サポート hr 製品の購入
について
hr お問い合わせ hr 会社案内 hr

評価版のお申し込み

OEMについて詳しくはこちら

Dockerイメージ

AH Formatter Linux 64ビット版のコマンドラインインターフェイスを、コンテナ型の仮想化環境である Dockerイメージでご用意しました。Docker Hub より利用可能です。

Dockerイメージを実行するには Linux 64ビット版のライセンスファイルが必要です。コンテナ内の AH Formatter は、ライセンスファイルが見つからない場合は動作しません。評価をご希望の方は、弊社システム営業グループ(sis@antenna.co.jp)までご連絡ください。

タグ

AH Formatter の Dockerイメージには、AH Formatter のバージョンに基づいた複数の識別子が付けられています。AH Formatter の改訂版リリースは、すべて同じメジャー番号およびポイントリリース番号でタグ付けされていますが、改訂番号およびビルド番号が異なります。また、すべてのイメージは、latest バージョンとしてタグ付けされています。改訂版リリースごとに、Docker Hub に格納されているメジャー番号とポイント番号が同一のイメージは、最新のイメージに置き換えられます。次の表は、リリースごとに付けられる識別子とタグの例を示しています。

AH Formatter versionDocker tags
latest Major version Major+Point Major+Point+Maintenance Build
V6.6 R1 latest 6 6.6 6.6.0 6.6.1.34539
V6.6 MR1 6.6.1 6.6.x.xxxxx

antennahouse/ahfcmd:6antennahouse/ahfcmd:6.6 のイメージを pull するのは、改訂番号やビルド番号でタグ付けされたバージョンを pull するよりも安定性は低いですが、改訂や強化が加わったときに、必要に応じてより新しいバージョンを使うことができます。

Dockerイメージを pull する方法

Dockerイメージは pull コマンドでダウンロードできます。Dockerイメージを pull する前に Docker にログインします。

$ docker pull antennahouse/ahfcmd:6
6: Pulling from antennahouse/ahfcmd
be8881be8156: Pull complete 
5ff882512eae: Pull complete 
9c3a3af72ffc: Pull complete 
a4db580eb6e4: Pull complete 
Digest: sha256:7ae695a11f0538b3f83513fe313ce9061664f7dda3428cc483d4c43d3370afda
Status: Downloaded newer image for antennahouse/ahfcmd:6

pull した AH Formatter の Dockerイメージの情報は docker inspect を使ってイメージを実行することなく取得できます。

$ docker inspect --format='{{.ContainerConfig.Labels.about}}' antennahouse/ahfcmd:6
AHFCmd : AH Formatter V6.6 R1 for Linux64 : 6.6.1.34539 (2018/08/29 13:12JST)

ライセンス

Dockerイメージを実行するには、Linux 64ビット版のライセンスファイル(AHFormatter.lic)が必要です。 Dockerコンテナはライセンスファイルだけをマウントすることができ、また、カスタムフォントファイルを参照するフォント構築ファイル(font-config.xml)などを含む etc ディレクトリをマウントすることもできます。カスタムフォントは、マウントされた etc ディレクトリ内またはそのディレクトリ下に含めることも、別の場所にマウントされた別のディレクトリに置くこともできます。

以下の例は、ライセンスファイルをマウントする方法のみを示します。Dockerコマンドラインの他の側面については、他のセクションで説明します。

AHFormatter.lic のマウント

ローカルのAHFormatter.lic のみ、組み込みます。

Bash:

docker run -v `pwd`/AHFormatter.lic:/AHFormatter/etc/AHFormatter.lic:ro ...

コマンドプロンプト:

docker run -v %cd%\AHFormatter.lic:/AHFormatter/etc/AHFormatter.lic:ro ...

Power Shell:

docker run -v $PWD/AHFormatter.lic:/AHFormatter/etc/AHFormatter.lic:ro ...

Mount 'AHFormatter.lic'

etc ディレクトリのマウント

カスタム font-config.xmletc ディレクトリのサブディレクトリにあるカスタムフォントを合わせた etc ディレクトリ全体をマウントします。

Bash:

docker run -v `pwd`/etc:/AHFormatter/etc:ro ...

コマンドプロンプト:

docker run -v %cd%\etc:/AHFormatter/etc:ro ...

Power Shell:

docker run -v $PWD/etc:/AHFormatter/etc:ro ...

Mount an 'etc' directory

etc ディレクトリ内の他のファイルは、分かりやすくするために上記の図表では省いてあります。マウントされた etc は、Dockerコンテナの etcディレクトリ全体を置き換えます。マウントされた etcは、Dockerコンテナの AHFCmd が使用するすべてのファイルとサブディレクトリ、例えばハイフネーション辞書が格納されているハイフネーションサブディレクトリなどを含まなければなりません。

追加のフォントディレクトリは、Dockerコマンドラインで追加の -v パラメータを使用することによって、Dockerコンテナの他の場所にマウントできます。マウントされた etc にある font-config.xml は、ホストコンピュータ上の場所ではなく、Dockerコンテナ内にあるフォントファイルの場所を参照する必要があります。

この例では、Dockerコンテナへの AH Formatter ライセンスファイルの提供は省略されています。ライセンスファイルの提供方法については、前のセクションを参照してください。

ローカル依存しない入力

入力が他のローカルファイルに依存しない単一のファイルである場合、つまり、ファイルシステム上の外部画像、スタイルシート、またはその他のファイルを参照していない場合、入力はコンテナに繋がれ、出力はホストコンピュータ上のファイルに繋がれます。

Bash:

docker run -i --rm antennahouse/ahfcmd:6 -d @STDIN -o @STDOUT \
  < hello-world.fo > hello-world.pdf

コマンドプロンプト:

docker run -i --rm antennahouse/ahfcmd:6 -d @STDIN -o @STDOUT ^
  < hello-world.fo > hello-world.pdf

Power Shell:
 Docker からの PDF 出力をホストファイルシステム上のファイルにリダイレクトすることは、Power Shellでは機能しません。 Power Shell はデータをフィルタリングして、エンコードと行の終わりの両方を正規化するため、リダイレクトされた PDF データが破損するからです。

例えば、HTTP を使用して取得した画像またはフォントファイルなど、ネットワークアクセスを介して他のリソースにアクセスするかどうかは、Dockerコンテナ用に構成されているネットワークアクセスによって異なります。

ローカル依存の入力

入力がホストファイルシステム上の外部ファイルに依存している場合(例えば、入力が <fo:external-graphic> を使用する XSL-FO ファイルの場合)、ひとつまたは複数のディレクトリを Dockerコンテナにマウントできます。

STDOUT への読み取り専用ディレクトリ

入力とすべてのローカル依存関係がひとつのディレクトリの下にあり、すべてのファイル参照が相対参照である場合、すべてのファイルを含むディレクトリは -v オプションを使用してコンテナにマウントできます。docker run コマンドライン上の入力ファイルへの参照は、ホストコンピュータ上の場所ではなく、Dockerコンテナのファイルシステム上のその場所への参照です。

入力ファイルを含むディレクトリは、-v オプション値に :ro を追加することで読み取り専用でマウントできます。

出力が単一ファイルの場合、STDOUT に繋ぐことができます。

Bash:

docker run -i --rm -v `pwd`/in:/in:ro antennahouse/ahfcmd:6 \
  -d /in/hello-world.fo -o @STDOUT > hello-world.pdf

コマンドプロンプト:

docker run -i --rm -v %cd%\in:/in:ro antennahouse/ahfcmd:6 ^
  -d /in/hello-world.fo -o @STDOUT > hello-world.pdf

ホストコンピュータディレクトリへの出力

Docker の出力をファイルに送るのが都合が悪いとき(例えば、出力が複数の PDF ボリュームまたは複数の SVG ファイルである場合)、Dockerコンテナにマウントされているホストコンピュータ上のディレクトリに出力を書き込むことができます。

Bash:

docker run --rm -v `pwd`/in:/in:ro -v /tmp:/out antennahouse/ahfcmd:6 \
  -d /in/hello-world.fo -o /out/hello-world.pdf

コマンドプロンプト:

docker run --rm -v %cd%\in:/in:ro -v %cd%\out:/out antennahouse/ahfcmd:6 ^
  -d /in/hello-world.fo -o /out/hello-world.pdf

Power Shell:

docker run --rm -v $PWD/in:/in:ro -v $PWD/out:/out antennahouse/ahfcmd:6 `
  -d /in/hello-world.fo -o /out/hello-world.pdf

セキュリティ上の理由から、Dockerコンテナ内の AH Formatter は、UID 9999 と GID 9999 を持つ ahf ユーザとして実行することに注意してください。もしホストコンピュータが UID 9999 と GID 9999 を持つユーザの出力ディレクトリへの書き込みを許可しない場合、Dockerコンテナ内の AH Formatter はすべての出力の書き込みに失敗します。

セキュリティ

Docker は管理者権限で実行する必要があります。管理者権限でプログラムを実行する際のリスクを最小限に抑えるため、十分な注意を払ってください。

antennahouse/ahfcmd イメージは、root として実行した場合起こりうるセキュリティ問題を防ぐため、UID 9999 のユーザーとして AH Formatter を実行します。Linux では、UID 9999 のユーザが、どのマウントの出力ボリュームにも書き込むことができるようにする必要があります。

スペース
トップページサポートお問い合わせ会社案内
サイトマップ個人情報保護の考え方とお願い
Copyright Antenna House, Inc. All rights reserved.
Antenna House is a trademark of Antenna House, Inc.