OEM販売のご相談

Web Interface V6.0 for AH FormatterDockerイメージ

64ビット版の組み合わせでお使いいただく Dockerイメージをご用意しました。Docker Hub より利用可能です。

Dockerイメージを実行するには『Web Interface』と組み合わせて使用される 『Formatter』 V7.0~V7.4 または V6.6 の Linux 64ビット版のライセンスファイルが両方必要です。Dockerコンテナ内の『Web Interface』サーバプログラムは、両方のライセンスファイルが見つからない場合は動作しません。評価をご希望の方は、弊社システム営業グループ(sis@antenna.co.jp)までご連絡ください。

バージョン情報

Dockerイメージのタグは、『Web Interface』サーバプログラムと組み合わせて使用される 『Formatter』 の Linux 64ビット版を指しています。(『Formatter』 コマンドラインインターフェイス用の ahfcmd Dockerイメージ は同じタグ形式を使っています。)

Dockerイメージのラベルには、『Web Interface』サーバプログラムと 『Formatter』 の Linux 64ビット版のバージョン情報が含まれています。

タグ

Dockerイメージには、メジャーおよびポイントリリース番号と改訂番号とビルド番号が付いています。『Formatter』 の改訂版リリースは、すべて同じメジャー番号およびポイントリリース番号でタグ付けされていますが、改訂番号およびビルド番号が異なります。また、すべてのイメージは、latest バージョンとしてタグ付けされています。改訂版リリースごとに、Docker Hub に latest、メジャーおよびポイントリリース番号でタグ付けされている Dockerイメージは最新のイメージへ入れ替えられます。次の表は、『Formatter V7.4』でリリースごとに付けられるタグの例を示しています。

タグ
Formatter バージョンDocker タグ
latest メジャーバージョン メジャー+ポイント メジャー+ポイント+改訂 ビルド
V7.4 R1 latest 7 7.4 7.4.0 7.4.1.63121
V7.4 MR1 7.4.1 7.4.x.xxxxx

ラベル

『Formatter』 の Dockerイメージのバージョン情報は docker inspect を使って取得できます。

$ docker inspect --format='{{.Config.Labels.about}}' antennahouse/xdsserver:7
AHFCmd : Antenna House Formatter V7.4 R1 Linux : 7.4.1.63121 (2023-12-20T11:05+09)

『Web Interface』サーバプログラムの場合も同様です。

$ docker inspect --format='{{.Config.Labels.xdsserverabout}}' antennahouse/xdsserver:7
xds version: 6.0MR11 (409) 2024-01-05 14:31 JST

Dockerイメージを pull する方法

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

タグの内のひとつを使用してイメージを pull します。antennahouse/xdsserver:7antennahouse/xdsserver:7.2 のイメージを pull すると、新しい改訂や強化が加わったときに、自動的に新しいバージョンの Docker を pull することが可能になります。しかし、イメージは予告なく変更される可能性があるため、改訂番号やビルド番号でタグ付けされたイメージを pull するよりも安定性が低くなります。

$ docker pull antennahouse/xdsserver:7
7: Pulling from docker.io/antennahouse/xdsserver
be8881be8156: Pull complete 
87afd40ffc1e: Pull complete 
46c26bf1484f: Pull complete 
6f4da1ccc624: Pull complete 
d80f886906c8: Pull complete 
6bd436e56012: Pull complete 
65c630b63cb5: Pull complete 
88db1ec641e8: Pull complete 
d4e808e65d22: Pull complete 
991742fff373: Pull complete 
8d0575674291: Pull complete 
6d06c9f3bb07: Pull complete 
03077647109d: Pull complete 
9079e7be1a9e: Pull complete 
Digest: sha256:cf50f68357b42988ea023e92a99d082e400ae4f5c190929c566c9084c0628e07
Status: Downloaded newer image for docker.io/antennahouse/xdsserver:7

イメージ ID はひとつの例として示しています。ID は Dockerイメージのすべてのリリースで異なります。

ライセンス

Dockerイメージを実行するには、『Web Interface』のライセンスファイル xds.lic と 『Formatter』 のライセンスファイル AHFormatter.lic が必要です。アンテナハウスは、両方のライセンスファイルを zip アーカイブで提供します。zip アーカイブから抽出したディレクトリとファイルは、そのまま Dockerコンテナにマウントできます。

zip ファイルの中身は次のとおりです。

Contents of the Web Interface Server licenses zip file
Contents of the Web Interface Server licenses zip file

抽出したライセンスファイルをコンテナ内の /license 上に読み取り専用(:ro)でマウントするための Dockerコマンドラインの部分を次に示します。

Bash:

docker run -v `pwd`/license:/license:ro ...

コマンドプロンプト:

docker run -v %cd%\license:/license:ro ...

Power Shell:

docker run -v $PWD/license:/license:ro ...

コンテナ内の 『Web Interface』サーバプログラムと 『Formatter』 は、/license 内にあるライセンスファイルを使用します。

Mount the Web Interface Server licenses on the container
Mount the Web Interface Server licenses on the container

Web Interface サーバプログラムのオプションファイル

Dockerイメージには 『Web Interface』サーバプログラムのデフォルトのオプションファイルが /xds/server/xds-options.xml として含まれています。このオプションファイルでは値を指定しません。

<commandLine>
</commandLine>

デフォルトのオプションファイルは、『Web Interface』サーバプログラムへ追加のプロパティを指定するために、ホストマシンからマウントされたオプションファイルによって必要に応じて上書きされます。

最大クライアント接続数と Formatter のプロセス数

『Web Interface』サーバプログラムの -mc オプションは、デフォルトではクライアント接続の最大数に制限はありません。-mp オプションは、デフォルトでは一度に実行できる 『Formatter』 のプロセスの最大数に制限はありません。Dockerコンテナが Docker Swarm の一部、または Kubernetes などのコンテナオーケストレーションシステムで実行されている場合は、クライアント接続数と 『Formatter』 のプロセス数のいずれかまたは両方を制限し、その代わりに外部コントローラーを使用して要求に応じてコンテナの複製とスケーリングを管理することをお勧めします。

『Web Interface』サーバプログラムの Dockerコンテナは通常、分離したサービスとして実行されます。コンテナは、Dockerコマンドを実行することによって開始します。『Web Interface』サーバプログラムはコンテナのポート 9999 をリッスンしますが、Docker はコンテナの起動時にそのポートをホストマシン上の任意のポートに結合できます。どのユーザーも、同じマシンまたは異なるマシン上の『Web Interface』のクライアントプログラムまたはフォルダ監視サービスを使用して、『Web Interface』サーバプログラムにアクセスできます。別の Dockerコマンドを実行すると、コンテナが停止します。

『Web Interface』サーバプログラムは、保護されていない接続のみを受け入れることも、SSL を使用して保護された接続のみを受け入れることもできます。『Web Interface』サーバプログラムが SSL を使用するように設定されている場合、『Web Interface』クライアントプログラムまたはフォルダ監視サービスは SSL を使用する必要があります。詳細については、『Web Interface』オンラインマニュアルの SSL のページを参照してください。

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

Web Interface サーバプログラム

『Web Interface』サーバプログラムは、暗号化されていない接続または SSL を使用して保護されている接続のいずれかの受け入れが開始されると、構築されます。SSL パラメータは、Docker のコマンドラインまたはオプションファイルを使用して設定できます。

Dockerコンテナを開始

$ docker run -d --rm -p 9999:9999 --name=xdsserver antennahouse/xdsserver:7
サーバプログラムのパラメータ
パラメータ 記述
-d バックグラウンドでコンテナを実行し、コンテナ ID を表示します。
-rm コンテナが終了すると自動的にコンテナを削除します。
-p 9999:9999 ホストのポート 9999(左側)をコンテナのポート 9999(右側)に結合します。
-name xdsserver xdsserver をイメージから作成されたコンテナの名前として割り当てます。
antennahouse/xdsserver:7 『Web Interface』サーバプログラムの Dockerイメージ。

コマンドラインで SSL パラメータを指定

OS によっては、キーストアパスワードを含むコマンドラインが、同じマシン上で実行されている他のプロセスで表示される場合があることに注意してください。

Bash:

$ docker run -d --rm -v `pwd`/keystore.jks:/xds/server/keystore.jks:ro \
     antennahouse/xdsserver:7 \
     -java-prop javax.net.ssl.keyStore keystore.jks \
     -java-prop javax.net.ssl.keyStorePassword 123456 -ssl \
     -p 9999:9999 --name=xdsserver antennahouse/xdsserver:7

コマンドプロンプト:

> java docker run -d --rm -v %cd%\keystore.jks:/xds/server/keystore.jks:ro ^
     antennahouse/xdsserver:7 ^
     -java-prop javax.net.ssl.keyStore keystore.jks ^
     -java-prop javax.net.ssl.keyStorePassword 123456 -ssl ^
     -p 9999:9999 --name=xdsserver antennahouse/xdsserver:7

Power Shell:

> docker run -d --rm -v $PWD/keystore.jks:/xds/server/keystore.jks:ro `
     antennahouse/xdsserver:7 `
     -java-prop javax.net.ssl.keyStore keystore.jks `
     -java-prop javax.net.ssl.keyStorePassword 123456 -ssl `
     -p 9999:9999 --name=xdsserver antennahouse/xdsserver:7
サーバプログラムのSSLパラメータ
パラメータ 記述
-v `pwd`/keystore.jks:/xds/server/keystore.jks:ro Dockerコンテナに読み取り専用(:ro)のキーストアを /xds/server/keystore.jks としてマウントします。
-java-prop javax.net.ssl.keyStore keystore.jks Dockerコンテナ内のその位置にあるキーストアを参照してください。
-java-prop javax.net.ssl.keyStorePassword 123456 キーストアのパスワードを提供します。
-ssl SSL の使用を有効にします。
Web Interface Server with SSL options specified on the command line
Web Interface Server with SSL options specified on the command line

オプションファイルで SSL パラメータを指定

キーストアのパスワードがオプションファイルに格納されている場合、キーストアのパスワードはホストマシン上で実行されている他のプロセスからは見えません。ただし、プロセスに適切な権限が与えられていれば、オプション XML ファイルを読み取れる場合があります。

Bash:

$ docker run -d --rm -v `pwd`/keystore.jks:/xds/server/keystore.jks:ro \
     -v `pwd`/xds-ssl-options.xml:/xds/server/xds-options.xml:ro \
     --name=xdsserver antennahouse/xdsserver:7

コマンドプロンプト:

> docker run -d --rm -v %cd%\keystore.jks:/xds/server/keystore.jks:ro ^
     -v %cd%\xds-ssl-options.xml:/xds/server/xds-options.xml:ro ^
     --name=xdsserver antennahouse/xdsserver:7

Power Shell:

> docker run -d --rm -v $PWD/keystore.jks:/xds/server/keystore.jks:ro `
     -v $PWD/xds-ssl-options.xml:/xds/server/xds-options.xml:ro `
     --name=xdsserver antennahouse/xdsserver:7
サーバプログラムのXMLオプションファイルのマウント
パラメータ 記述
-v %cd%\keystore.jks:/xds/server/keystore.jks:ro読み取り専用のキーストアを /xds/server/keystore.jks として Dockerコンテナにマウントします。
-v %cd%\xds-ssl-options.xml:/xds/server/xds-options.xml:ro 読み取り専用のオプション XML ファイルを /xds/server/xds-options.xml として Dockerコンテナにマウントします。
Web Interface Server with SSL options specified an Option File
Web Interface Server with SSL options specified an Option File

SSL パラメータは、xds-ssl-options.xml ファイルで指定します。

<commandLine>
  <value>-java-prop</value>
  <value>javax.net.ssl.keyStore</value>
  <value>keystore.jks</value>
  <value>-java-prop</value>
  <value>javax.net.ssl.keyStorePassword</value>
  <value>123456</value>
  <value>-ssl</value>
</commandLine>

Dockerコンテナにメディアファイルをマウント

file: プロトコルを使用した、あるいは絶対パスを含むメディア参照は、『Web Interface』サーバプログラムのコンテナのパスとして扱われます。ホストマシン上のメディアファイルは、Dockerコンテナ内のそれらの位置にマウントできます。複数のメディアファイルまたは個々のメディアファイルを含むディレクトリは、『Formatter』 がドキュメントを組版するときに参照されるようにコンテナにマウントできます。コマンドプロンプト構文を使用した以下の例ではイメージを含むディレクトリをマウントしています。

> docker run -d --rm -v %cd%\img:/img:ro ^
   --name=xdsserver antennahouse/xdsserver:7
メディアファイルをマウント
パラメータ 記述
-v %cd%\img:/img:ro メディアファイルを含む読み取り専用ディレクトリを、Dockerコンテナ内にマウントします。
Directory containing images mounted on Docker container
Directory containing images mounted on Docker container

Dockerコンテナが実行中であることを確認

$ docker container ls
CONTAINER ID        IMAGE                       COMMAND                   CREATED             STATUS                    PORTS                              NAMES
c70ac7e48402        antennahouse/xdsserver:7    "java -jar xds-serve…"   15 minutes ago      Up 15 minutes (healthy)   0.0.0.0:9999->9999/tcp             xdsserver

コンテナ ID は、コンテナが実行されるたびに異なることに注意してください。

Dockerコンテナを停止

$ docker container stop xdsserver

Dockerコンテナに割り当てられた名前がない場合は、docker container ls が出力したコンテナ ID を使用します。次に例を示します。

$ docker container stop c70ac7e48402

Web Interface クライアントプログラム

Web Interface for 『Formatter』 のクライアントプログラムは、どのユーザでも実行できます。

プログラムを開始

$ java -jar xds-client.jar -d in/hello-world.fo -o hello-world.pdf

代替ホストまたはポート

『Web Interface』サーバプログラムは、別のマシンでホストさせることができます。また、デフォルト以外のポートを介して接続を受け入れることもできます。

$ java -jar xds-client.jar -d in/hello-world.fo -o hello-world.pdf \
    -xds-host localhost -xds-port 9999
代替ホストまたはポート指定のパラメータ
パラメータ 記述
-xds-host localhost 『Web Interface』サーバマシンのホスト名または IP アドレスを指定します。
-xds-port 9999 『Web Interface』サーバプログラムの接続ポートを指定します。

Java システムプロパティで SSL を指定

キーストアの場所とパスワードを指定する Java システムプロパティは、java コマンドラインで -jar xds-client.jar パラメータの前に指定できます。

Bash:

$ java -Djavax.net.ssl.trustStore=`pwd`/keystore.jks \
     -Djavax.net.ssl.trustStorePassword=123456 \
     -jar xds-client.jar -xds-ssl -d in/hello-world.fo -o hello-world.pdf

コマンドプロンプト:

> java -Djavax.net.ssl.trustStore=%cd%\keystore.jks ^
     -Djavax.net.ssl.trustStorePassword=123456 ^
     -jar xds-client.jar -xds-ssl -d in/hello-world.fo -o hello-world.pdf

Power Shell:

> java -Djavax.net.ssl.trustStore=$PWD/keystore.jks `
     -Djavax.net.ssl.trustStorePassword=123456 `
     -jar xds-client.jar -xds-ssl -d in/hello-world.fo -o hello-world.pdf
Javaシステムプロパティ指定によるSSLパラメータ
パラメータ 記述
-Djavax.net.ssl.trustStore=`pwd`/keystore.jks クライアントマシン上のキーストアの場所を指定します。
-Djavax.net.ssl.trustStorePassword=123456 キーストアのパスワードを指定します。
-xds-ssl SSL の使用を有効にします。

-xds-java-prop で SSL パラメータを指定

また、『Web Interface』クライアントプログラムの -xds-java-prop パラメータを使用して、キーストアの場所とパスワードを Java システムプロパティに指定することができます。

Bash:

$ java -jar xds-client.jar -xds-ssl \
     -xds-java-prop javax.net.ssl.trustStore `pwd`/keystore.jks \
     -xds-java-prop javax.net.ssl.trustStorePassword 123456 \
     -d in/hello-world.fo -o hello-world.pdf

コマンドプロンプト:

> java -jar xds-client.jar -xds-ssl ^
     -xds-java-prop javax.net.ssl.trustStore %cd%\keystore.jks ^
     -xds-java-prop javax.net.ssl.trustStorePassword 123456 ^
     -d in/hello-world.fo -o hello-world.pdf

Power Shell:

> java -jar xds-client.jar -xds-ssl `
     -xds-java-prop javax.net.ssl.trustStore $PWD/keystore.jks `
     -xds-java-prop javax.net.ssl.trustStorePassword 123456 `
     -d in/hello-world.fo -o hello-world.pdf
-xds-java-prop指定によるSSLパラメータ
パラメータ 記述
-xds-ssl SSL の使用を有効にします。
-xds-java-prop javax.net.ssl.trustStore $PWD/keystore.jks クライアントマシン上のキーストアの場所を指定します。
-xds-java-prop javax.net.ssl.trustStorePassword 123456 キーストアのパスワードを指定します。

オプションファイルで SSL パラメータを指定

XDS_CLIENT_CONFIG 環境変数がオプションファイルの絶対位置に設定されている場合、『Web Interface』 クライアントプログラムは、ファイルで指定されているデフォルトのコマンドラインオプションも使用します。クライアントプログラムのオプションファイルの形式は、サーバープログラムのオプションファイルの形式と同じです。キーストアの場所とパスワードを Java システムプロパティで指定するための -xds-java-prop パラメータは、オプションファイルに含めることができます。

<commandLine>
  <value>-xds-ssl</value>
  <value>-xds-java-prop</value>
  <value>javax.net.ssl.trustStore</value>
  <value>keystore.jks</value>
  <value>-xds-java-prop</value>
  <value>javax.net.ssl.trustStorePassword</value>
  <value>123456</value>
</commandLine>

Bash:

$ export XDS_CLIENT_CONFIG=`pwd`/client-option.xml
$ java -jar xds-client.jar -d in/hello-world.fo -o hello-world.pdf

コマンドプロンプト:

> XDS_CLIENT_CONFIG=%cwd%/client-option.xml
> java -jar xds-client.jar -d in/hello-world.fo -o hello-world.pdf

Power Shell:

> $env:XDS_CLIENT_CONFIG=$PWD/client-option.xml
> java -jar xds-client.jar -d in/hello-world.fo -o hello-world.pdf

フォルダ監視サービス

フォルダ監視サービスプログラムは、どのユーザでも実行できます。

プログラムを開始

$ java -jar xds-folder-monitor.jar monitoring monitoring/output
フォルダ監視サービスのパラメータ
パラメータ 記述
monitoring 最初に監視するフォルダを指定します。
monitoring/output 最初の出力フォルダを指定します。これは、その前に指定した監視フォルダのサブディレクトリでなければなりません。

代替ホストまたはポート

『Web Interface』サーバプログラムは、別のマシンでホストさせることができます。また、デフォルト以外のポートを介して接続を受け入れることもできます。別のホストまたは別のポートを使用するには、対応する 『Web Interface』クライアントプログラムのオプションを、デフォルトのコマンドファイル、または対象となるファイルの各 zip アーカイブに含まれている command.txt ファイルに指定する必要があります。たとえば command-host-port.txt ファイルの内容が次のような場合です。

ARGS = -xds-host localhost -xds-port 9999
$ java -jar xds-folder-monitor.jar  \
    -default-command-file command-host-port.txt \
    monitoring monitoring/output
代替ホストまたはポート指定のパラメータ
パラメータ 記述
-default-command-file command-host-port.txt command-host-port.txt のコマンドをデフォルトのコマンドとして使用します。

Java システムプロパティで SSL を指定

キーストアの場所とパスワードを指定する Java システムのプロパティは、java コマンドラインの -jar xds-folder-monitor.jar パラメータの前に指定できます。『Web Interface』 クライアントプログラムの SSL を有効にする -xds-ssl パラメータは、コマンドファイルの ARGS パラメータに含める必要があります。たとえば command-xds-ssl.txt が次のような場合です。

ARGS = -xds-ssl

Bash:

$ java -Djavax.net.ssl.trustStore=`pwd`/keystore.jks \
     -Djavax.net.ssl.trustStorePassword=123456 \
     -jar xds-folter-monitor.jar \
     -default-command-file command-xds-ssl.txt \
     monitoring monitoring/output

コマンドプロンプト:

> java -Djavax.net.ssl.trustStore=%cd%\keystore.jks ^
     -Djavax.net.ssl.trustStorePassword=123456 ^
     -jar xds-folder-monitor.jar ^
     -default-command-file command-xds-ssl.txt ^
     monitoring monitoring/output

Power Shell:

> java -Djavax.net.ssl.trustStore=$PWD/keystore.jks `
     -Djavax.net.ssl.trustStorePassword=123456 `
     -jar xds-folder-monitor.jar `
     -default-command-file command-xds-ssl.txt `
     monitoring monitoring/output
Javaシステムプロパティ指定によるSSLパラメータ
パラメータ 記述
-Djavax.net.ssl.trustStore=%cd%\keystore.jks クライアントマシン上のキーストアの場所を指定します。
-Djavax.net.ssl.trustStorePassword=123456 キーストアのパスワードを指定します。
-default-command-file command-xds-ssl.txt command-xds-ssl.txt のコマンドをデフォルトのコマンドとして使用します。

-java-prop で SSL パラメータを指定

また、フォルダ監視サービスの -java-prop パラメータを使用して、キーストアの場所とパスワードを Java システムプロパティに指定することができます。-xds-ssl もコマンドファイルの ARGS パラメータに含める必要があります。

Bash:

$ java -jar xds-folder-monitor.jar \
     -java-prop javax.net.ssl.trustStore `pwd`/keystore.jks \
     -java-prop javax.net.ssl.trustStorePassword 123456 \
     -default-command-file command-xds-ssl.txt \
     monitoring monitoring/output

コマンドプロンプト:

> java -jar xds-folder-monitor.jar ^
     -java-prop javax.net.ssl.trustStore %cd%\keystore.jks ^
     -java-prop javax.net.ssl.trustStorePassword 123456 ^
     -default-command-file command-xds-ssl.txt ^
     monitoring monitoring/output

Power Shell:

> java -jar xds-folder-monitor.jar `
     -java-prop javax.net.ssl.trustStore $PWD/keystore.jks `
     -java-prop javax.net.ssl.trustStorePassword 123456 `
     -default-command-file command-xds-ssl.txt `
     monitoring monitoring/output
-xds-java-prop指定によるSSLパラメータ
パラメータ 記述
-java-prop javax.net.ssl.trustStore $PWD/keystore.jks クライアントマシン上のキーストアの場所を指定します。
-java-prop javax.net.ssl.trustStorePassword 123456 キーストアのパスワードを指定します。
-default-command-file command-xds-ssl.txt command-xds-ssl.txt のコマンドをデフォルトのコマンドとして使用します。

コマンドファイルですべての SSL パラメータを指定

フォルダ監視サービスのコマンドライン -java-prop パラメータの代わりに、対応する -xds-java-prop パラメータをコマンドファイルで使用できます。たとえば command-xds-ssl-java-prop.txt が次のような場合です。

ARGS = -xds-ssl
ARGS = -xds-java-prop javax.net.ssl.trustStore C:/path/to/keystore.jks
ARGS = -xds-java-prop javax.net.ssl.trustStorePassword 123456

Bash:

$ java -jar xds-folder-monitor.jar \
     -default-command-file command-xds-ssl-java-prop.txt \
     monitoring monitoring/output

コマンドプロンプト:

> java -jar xds-folder-monitor.jar ^
     -default-command-file command-xds-ssl-java-prop.txt ^
     monitoring monitoring/output

Power Shell:

> java -jar xds-folder-monitor.jar `
     -default-command-file command-xds-ssl-java-prop.txt `
     monitoring monitoring/output
コマンドファイル指定によるSSLパラメータ
パラメータ 記述
-default-command-file command-xds-ssl-java-prop.txt command-xds-ssl-java-prop.txt のコマンドをデフォルトのコマンドとして使用します。

セキュリティ

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

SSL を使用し、SSL パラメータがコマンドラインで指定されている場合、SSL パラメータはマシン上の他のプロセスから見える場合があります。ログレベルが DEBUG の場合、コマンドラインパラメータも記録されます。SSL パラメータがオプションファイルで指定されている場合、そのファイルにアクセスする権限を持つ他のプロセスがパラメータを参照できる可能性があります。