ColdFusion の Docker イメージ

重要(2021 年 8 月 18 日)

tar ファイルがリポジトリーから削除されました。tar ファイルをダウンロードしてイメージを使用することはできなくなりました。 

すべての Docker イメージが Amazon ECR で入手できるようになりました。

Docker イメージは Amazon ECR でホストされています。次の手順で、このイメージをローカル環境に読み込むことができます。

  1. docker pull public.ecr.aws/adobe/coldfusion:latest を実行します。

ローカルシステムでイメージが使用可能になったら、それ以降、Docker コマンドを実行することができます。イメージの名前は次のタグ規約に従います。

  • ColdFusion(2018 リリース):latest-2018
  • ColdFusion(2021 リリース):latest

タグの規約

  • latest- - ColdFusion の使用可能な最新バージョン。
  • latest-2018 - ColdFusion 2018 の使用可能な最新バージョン

ColdFusion の EULA

続行する前に、EULA を必ずお読みください。

コンテナの実行中に環境変数を使用して、EULA に同意する必要があります。

ColdFusion(2021 リリース)の Docker イメージ

お使いのシステムには、ColdFusion:2021.0.1 というタグが付けられた Docker イメージが含まれています。

この Docker イメージでは、次の 4 つの新しい環境変数を使用できます。

  • installModules:ColdFusion パッケージマネージャーでインストールするモジュールのカンマ区切りリスト。使用可能なすべてのパッケージをインストールする場合は「all」と指定可能。
  • importCFSettings:読み込む ColdFusion 設定を格納した JSON ファイル。Web ルート /app に存在する必要があります。
  • importCFSettingsPassphrase:暗号化された JSON ファイルから ColdFusion 設定を読み込むためのパスフレーズ。
  • importModules:読み込むパッケージを記載したテキストファイル。Web ルート /app に存在する必要があります。CFPM には、ColdFusion インスタンスにインストールされているパッケージを書き出すためのオプションが用意されています。 書き出されたパッケージのリストがテキストファイルに記載され、そのテキストファイルを使用して、任意のインスタンスにパッケージを読み込むことができます。これは、環境変数 importModules を使用してサポートされています。

よくある質問

イメージの読み込み

このレジストリからイメージを取り込むには、次のコマンドを実行したあと、このイメージからコンテナを起動します。

docker pull public.ecr.aws/adobe/coldfusion:latest

コンテナの作成

config.json から ColdFusion 設定を読み込み、scheduler および cfmongodb モジュールを例としてインストールするコンテナを作成するには、次のコマンドを実行します。

docker container run -dt -p 8500:8500 -v /opt/mywebroot:/app -e acceptEULA=YES -e password=ColdFusion123 -e importCFSettings=config.json -e installModules=scheduler,cfmongodb coldFusion:2021.0.1

ColdFusion の実行

ColdFusion イメージの実行

// リポジトリーからイメージを取り込む docker pull public.ecr.aws/adobe/coldfusion:latest // コンテナを直接起動する docker container run -dt -e acceptEULA=YES -e password=admin public.ecr.aws/adobe/coldfusion:latest // サポートされているコマンドと環境変数を一覧表示する docker run --rm -it coldfusion:latest help // インストールされている ColdFusion のバージョン番号を返す docker run --rm -it coldfusion:latest info // CLI を使用して C:/wwwroot/ の CFM ページを実行する docker run --rm -it -e acceptEULA=YES -v C:/wwwroot/:/app coldfusion:latest cli test.cfm

デーモンモードでの ColdFusion イメージの実行

docker run -dt -p 8500:8500 -v c:/wwwroot/:/app -e acceptEULA=YES -e password=ColdFusion123 -e enableSecureProfile=true coldfusion:latest

すべての実行中または停止したコンテナのリストを表示するには、次のように入力します。

docker ps -a

コンテナのステータスを確認するには、次のコマンドを入力します。

docker logs <containerID / containerName>

http://localhost:8500 の CFM ページへのアクセス

Web ルートは、/app ディレクトリを指すように再設定されています。ボリュームを /app に移動する必要があります。

Windows では、共有ドライブが有効になっており、資格情報が更新されていることを確認してください。

設定の読み込み

/data ディレクトリにマウントされている CAR アーカイブは、起動時に自動的に読み込まれます。

環境変数

このイメージの環境変数を一覧表示するには、次のコマンドを入力します。

docker run --rm -it coldfusion:latest help

サポートされているコマンド:help、start、info、cli <.cfm>
Web ルート:/app
CAR の読み込み:/data にある CAR ファイルは起動時に自動的に読み込まれます。

.env ファイル

必須環境変数: acceptEULA=YES オプション環境変数: serial=<ColdFusion のシリアルキー> previousSerial=<ColdFusion の以前のシリアルキー(アップグレードの場合)> password=<パスワード> enableSecureProfile=<true/false(デフォルト)> configureExternalSessions=<true/false(デフォルト)> externalSessionsHost=<Redis サーバーのホスト(デフォルト:localhost)> externalSessionsPort=<Redis サーバーのポート(デフォルト:6379)> externalSessionsPassword=<Redis サーバーのパスワード(デフォルト:空欄)> configureExternalAddons=<true/false(デフォルト)> addonsHost=<アドオンコンテナのホスト(デフォルト:localhost)> addonsPort=<アドオンコンテナのポート(デフォルト:8993)> addonsUsername=<Solr ユーザー名(デフォルト:admin)> addonsPassword=<Solr パスワード(デフォルト:admin)> addonsPDFServiceName=<PDF サービス名(デフォルト:addonsContainer)> addonsPDFSSL=<true/false(デフォルト)> setupScript=<起動時に呼び出す CFM ページ。Web ルート /app に存在する必要あり> setupScriptDelete=<true/false(デフォルト)setupScript を実行後に自動削除するかどうか> language=<ja/en(デフォルト:en)> installModules=<ColdFusion パッケージマネージャーでインストールするモジュールのカンマ区切りリスト。使用可能なパッケージをすべてインストールする場合は「all」と指定可能> importCFSettings=<インポートする ColdFusion 設定を格納した JSON ファイル。Web ルート /app に存在する必要あり> importCFSettingsPassphrase=<暗号化された JSON ファイルから ColdFusion 設定をインポートするためのパスフレーズ> importModules=<インポートするパッケージを記載したテキストファイル。Web ルート /app に存在する必要あり>

ColdFusion ベースイメージの拡張

このシナリオでは、ColdFusion の管理 API を使用して MySQL データソースを作成できるように、ColdFusion のベースイメージを拡張して MySQL ドライバーを登録します。

Docker ファイル

FROM coldfusion:latest COPY mysql-connector-java-commercial-5.1.25-bin.jar /opt/coldfusion/cfusion/lib

mysql-connector-java-commercial-5.1.25-bin.jar ファイルは現在の作業ディレクトリ内に存在している必要があります。

Web ルートで、ColdFusion の管理 API を使用してデータソースを作成する cfm を作成します。その CFM ページを setupColdFusion.cfm と呼びましょう。マウントした webroot ボリュームにファイルを格納します。

<cfscript> // 常にログインが必要。この例では 次の 2 行のコードを使用するadminObj = createObject(&quot;component&quot;,&quot;CFIDE.adminapi.administrator&quot;); adminObj.login(&quot;ColdFusion123&quot;); // ColdFusion Administrator のパスワード // MySQL データソースを作成する datasource = createObject(&quot;component&quot;, &quot;CFIDE.adminapi.datasource&quot;); datasource.setMySQL5(&quot;SampleMYSqlDB&quot;, &quot;database-host&quot;, &quot;testDB&quot;); </cfscript>

このイメージに基づいてコンテナを作成して表示するには、Docker compose を実行します。Docker compose ファイルは、Docker コンテナでアプリケーションを定義し実行するためのツールです。

上記の Docker ファイルと setupColdFusion.cfm を含んだディレクトリの外に、次の内容の docker-compose.yml ファイルを作成します。上記のファイルが格納されているディレクトリの名前は「app」にする必要があります。

docker-compose.yml

version: &quot;3&quot; services: coldfusion: container_name: myapp build: context: ./app dockerfile: Dockerfile image: app depends_on: - redis - addons ports: - &quot;8500:8500&quot; volumes: - &quot;/opt/wwwroot:/app&quot; env_file: - coldfusion.env healthcheck: test: curl -f http://addons:8989/solr/ || exit 1 interval: 1m timeout: 3s deploy: mode: replicated replicas: 2 restart_policy: condition: on-failure update_config: parallelism: 1 delay: 10s networks: - webnet addons: container_name: mycfaddons image: addons environment: - acceptEULA=YES ports: - &quot;8989:8989&quot; networks: - webnet redis: container_name: myredis image: redis:latest ports: - &quot;6381:6379&quot; volumes: - &quot;redis_data:/data&quot; networks: - webnet volumes: redis_data: networks: webnet:

coldfusion.env

acceptEULA=YES password=ColdFusion123

Docker compose を実行するには、次のコマンドを入力します。

docker-compose up -d

環境変数「setupScript」が適切に設定されているので、ColdFusion ページ setupColdFusion.cfm がコンテナの起動時に実行されます。

ColdFusion Administrator にアクセスして、MySQL データソースが正しく設定されていることを確認できます。

ColdFusion アドオン

イメージの実行

ColdFusion(2021 リリース)アドオンイメージ(Solr および PDFG/cfhtmltopdf 用)は、この場所にホストされています。

このイメージを取り込むには、次のコマンドを実行します。

docker pull public.ecr.aws/adobe/coldfusionaddons:latest

コンテナを EULA に従って実行するには、次のコマンドを使用します。

docker container run -dt -e acceptEULA=YES  public.ecr.aws/adobe/coldfusionaddons:latest

コンテナを直接起動するには、次のコマンドを使用します。

docker container run -dt -e acceptEULA=YES public.ecr.aws/adobe/coldfusionaddons:latest

このイメージでサポートされている環境変数のリストを取得するには、次のコマンドを使用します。

docker run --rm -it public.ecr.aws/adobe/coldfusionaddons:latest help


Docker イメージを実行するためのコマンドシンタックスは次のとおりです。

docker run <product>:<version>

例えば、次のように入力します。

docker run addons:latest

このイメージの環境変数を一覧表示するには、次のコマンドを入力します。

docker run --rm addons:latest help

環境変数

acceptEULA=YES solrUsername=<SOLR-USERNAME> solrPassword=<SOLR-PASSWORD> setupScript=setupColdFusion.cfm enableSecureProfile=true configureExternalSessions=true externalSessionsHost=redis externalSessionsPort=6379 configureExternalAddons=true addonsHost=addons addonsPort=8989 addonsUsername=admin addonsPassword=admin addonsPDFServiceName=addonsContainer addonsPDFSSL=false

Performance Monitoring Toolset

注意:

Performance Monitoring Toolset コンテナを起動する前に、次のコマンドを実行します。

  • 開いているファイルの最大数を 65536 以上にする必要があります。コマンド ulimit-n 65536 を使用します。
  • マップの最大数を 262144 以上にする必要があります。この上限を増やすには、コマンドsysctl-w vm.max_map_count=262144 を使用します。

Performance Monitoring Toolset の Docker イメージは、こちらで入手できます。

イメージの実行

このレジストリからイメージを取り込むには、次のコマンドを使用します。

docker pull public.ecr.aws/adobe/pmt:latest

コンテナを EULA に従って実行するには、次のコマンドを使用します。

docker container run -dt -e acceptEULA=YES  public.ecr.aws/adobe/pmt:latest

コンテナを直接起動するには、次のコマンドを使用します。

docker container run -dt -e acceptEULA=YES public.ecr.aws/adobe/pmt:latest

イメージ内の環境変数のリストを取得するには、次のコマンドを使用します。

docker run --rm -it public.ecr.aws/adobe/pmt:latest help

Docker イメージを実行するためのコマンドシンタックスは次のとおりです。

docker run <product>:<version>

例えば、次のように入力します。

docker run pmt:latest

環境変数

pmt.env

acceptEULA=YES datastoreHost=pmt datastorePort=9200 startDatastore=true

coldfusion.env

acceptEULA=YES password=ColdFusion123

docker-compose.yml

version: &quot;3&quot; services: coldfusion: container_name: coldfusion image: coldfusion:2018.0.1 ports: - &quot;8500:8500&quot; volumes: - &quot;./webroot:/app&quot; env_file: - coldfusion.env healthcheck: test: curl -f http://localhost:8500/ interval: 1m timeout: 3s networks: - webnet pmt: container_name: pmt image: docker run pmt:2018.0.0 depends_on: - coldfusion ports: - &quot;9101:9101&quot; env_file: - pmt.env healthcheck: test: curl -f http://localhost:9101/ interval: 1m timeout: 3s networks: - webnet networks: webnet:

API Manager

このリポジトリーからイメージを取り込むには、次のコマンドを使用します。

docker pull public.ecr.aws/adobe/apimanager:latest

docker container run -dt -e acceptEULA=YES -e datastoreHost=<データストアのホスト名> -e datastorePort=<データストアのポート> -e analyticsHost=<分析サーバーのホスト名> -e analyticsPort=<分析サーバーのポート> -e analyticsClusterPort=<分析サーバークラスターのポート> -e analyticsClusterName=<Elasticsearch のクラスター名> public.ecr.aws/adobe/apimanager:latest

コンテナを直接起動するには、次のコマンドを使用します。

docker container run -dt -e acceptEULA=YES -e datastoreHost=<データストアのホスト名> -e datastorePort=<データストアのポート> -e analyticsHost=<分析サーバーのホスト名> -e analyticsPort=<分析サーバーのポート> -e analyticsClusterPort=<分析サーバークラスターのポート> -e analyticsClusterName=<Elasticsearch のクラスター名> public.ecr.aws/adobe/apimanager:latest

このイメージでサポートされている環境変数のリストを取得するには、次のコマンドを使用します。

docker run --rm -it public.ecr.aws/adobe/apimanager:latest help

docker-compose.yml

version: &quot;3&quot; services: analytics: container_name: analytics image: public.ecr.aws/adobe/apimanageraddons:latest env_file: - analytics.env networks: - webnet datastore: container_name: datastore image: public.ecr.aws/adobe/apimanageraddons:latest env_file: - datastore.env networks: - webnet ports: - &quot;9200:9200&quot; - &quot;9300:9300&quot; apim: container_name: apimanager image: public.ecr.aws/adobe/apimanager:latest ports: - &quot;9000:9000&quot; env_file: - apimanager.env networks: - webnet depends_on: - datastore networks: webnet:

apimanager.env

acceptEULA=YES serial=<シリアル番号を入力> apimPassword=APIManager123 datastoreHost=datastore datastorePort=6379 datastorePassword=MyRedisPassword analyticsHost=analytics analyticsPort=9200 analyticsClusterPort=9300 analyticsClusterName=groot-analytics

analytics.env

acceptEULA=YES startAnalyticsService=true analyticsClusterName=groot-analytics

datastore.env

acceptEULA=YES startDatastoreService=true datastorePassword=MyRedisPassword
アドビのロゴ

アカウントにログイン