ColdFusion の Docker イメージ

アドビでは、ColdFusion 用の公式 Docker イメージを提供しています。これにより、コンテナ化された環境での ColdFusion アプリケーションのデプロイメントと管理が簡単になります。これらのイメージは、パフォーマンス、セキュリティ、スケーラビリティに合わせて最適化されています。

この記事の内容

イメージの参照場所

ColdFusion Docker イメージの主な機能

  • 事前設定された ColdFusion ランタイム。
  • 複数バージョンのサポート。
  • 自動化された環境設定。
  • デプロイメントとプロダクション用のライセンスの柔軟性。

ColdFusion Docker イメージを使用するメリット

  • 開発、ステージング、プロダクションで同様の設定。
  • 1 つのイメージにバンドルされたすべての依存関係。
  • Kubernetes または Docker Swarm を使用した、オンデマンドベースのスケールアップまたはスケールダウン。
  • ランタイムを他のアプリケーションから分離したセキュリティリスクの軽減。

サポートされている ColdFusion リリース

ColdFusion バージョン

サポートされているイメージタグ

ライフサイクルステータス

ColdFusion(2025 リリース)

2025、最新

サポート済み

ColdFusion(2023 リリース)

2023、最新

サポート済み

 

ColdFusion(2021 リリース)

2021

サポート済み

前提条件

ColdFusion Docker イメージを使用する前に、システムが次の要件を満たしていることを確認してください。

Docker のインストール

  1. システムに Docker をインストールします。 手順については、Docker インストールガイドを参照してください。
  2. Docker Desktop が実行されていることを確認します(Windows/macOS ユーザーの場合)。

ColdFusion ライセンス

必要システム構成

ColdFusion Docker イメージの設定

ColdFusion Docker イメージをプルします。ターミナルを起動し、次を実行します。

docker pull adobecoldfusion/coldfusion:latest

特定のバージョンをプルします。

docker pull adobecoldfusion/coldfusion:2025

コンテナ内での ColdFusion の実行

次のコマンドを使用して、コンテナを起動します。

docker run -d -p 8500:8500 --name cf-container adobecoldfusion/coldfusion -e acceptEULA=yes

  • -d:コンテナをバックグラウンドで実行します。
  • -p 8500:8500:ホストマシンに ColdFusion のデフォルトポートを割り当てます。
  • --name cf-container:コンテナに名前を割り当てます。
  • -e acceptEULA=YES:コンテナを実行するための EULA に同意します。

環境変数を使用した ColdFusion の設定

ColdFusion Docker イメージは、環境変数による設定をサポートしています。 例:

docker run -d -p 8500:8500 -e acceptEULA=YES -e password=YourSecurePassword -e enableSecureProfile=true --name cf-container adobecoldfusion/coldfusion

使用可能な環境変数のリストを取得するには、次を実行します。

docker run --rm -it adobecoldfusion/coldfusion:latest help

必須環境変数:

  • acceptEULA=YES

オプション環境変数:

  • password - ColdFusion Administrator のパスワード(デフォルト:admin)
  • enableSecureProfile - セキュアプロファイルを有効/無効にします(true/false、デフォルト:false)
  • configureExternalSessions - 外部セッションストレージを有効/無効にします(true/false、デフォルト:false)
  • externalSessionsHost - 外部セッションの Redis ホスト(デフォルト:localhost)
  • externalSessionsPort - 外部セッションの Redis ポート(デフォルト:6379)
  • externalSessionsPassword - Redis 外部セッションのパスワード(デフォルト:空)
  • configureExternalAddons - 外部アドオンジを有効/無効にします(true/false、デフォルト:false)
  • addonsHost - アドオンコンテナサービスのホスト(デフォルト:localhost)
  • addonsPort - アドオンコンテナサービスのポート(デフォルト: 8997)
  • addonsUsername - Solr 認証用のユーザー名(デフォルト:admin)
  • addonsPassword - Solr 認証用のパスワード(デフォルト:admin)
  • addonsPDFServiceName - PDFg サービスマネージャーの名前(デフォルト: addonsContainer)
  • addonsPDFSSL - PDFg サービスの SSL を有効または無効にします(true/false、デフォルト:false)
  • setupScript - 起動時に実行される ColdFusion(CFM)スクリプトへのパス(/app に存在する必要があります)
  • setupScriptDelete - 実行後に設定スクリプトを削除します(true/false、デフォルト:false)
  • language - ColdFusion 言語(ja/en、デフォルト:en)
  • licenseFilePath - ColdFusion ライセンスファイルへのパス(/data に存在する必要があります)
  • licenseEdition - ColdFusion ライセンス版を定義します(Enterprise の場合は 1、Standard の場合は 2)。
  • installModules - CF パッケージマネージャーでインストールするモジュールのコンマ区切りリスト(すべてをインストールする場合は all)
  • importCFSettings - ColdFusion 設定を含む JSON ファイルへのパス(/app に存在する必要があります)
  • importCFSettingsPassphrase - 暗号化された CF 設定のパスフレーズ
  • importModules - 読み込むパッケージを記載したテキストファイルへのパス(/app に存在する必要があります)
  • deploymentType - ColdFusion デプロイメントタイプ(プロダクションの場合は 1、開発の場合は 2、ステージングの場合は 3、テストの場合は 4、災害復旧の場合は 5)
  • profile - ColdFusion プロファイル(プロダクションとセキュアの場合は 1、プロダクションの場合は 2、開発の場合は 3)
  • allowedAdminIPList - ColdFusion Administrator にアクセスできる IP アドレスのリスト
  • cfsecretPath - 秘密鍵を格納するディレクトリ(デフォルト:/run/secrets)
  • cfconfigPath - 設定を格納するディレクトリ(デフォルト:/configname)
  • CCSNodes - CCS サーバーのクライアントノードのリスト(例:localhost:8500 key1 (true/false))
  • startCCS - CCS サーバーを起動します(true/false、デフォルト:false)

ColdFusion の環境変数の更新(2025 リリース)

新しい変数:

  • licenseFilePath
  • licenseEdition
  • cfsecretPath
  • cfconfigPath
  • CCSNodes
  • startCCS

変数の使用の変更:

  • deploymentType では、文字列ベースの値の代わりに数値(1~5)を受け入れるようになりました。
  • profile では、テキストベースのラベルの代わりに数値(1~3)が使用されるようになりました。
  • allowedAdminIPList は、CF 2023 以前ではプロダクションとセキュアプロファイルにのみ適用されていましたが、現在は任意の ColdFusion プロファイルに設定できます。

廃止された変数:

  • CF 2025 では、serial はサポートされなくなりました。ライセンスアクティベーションには、CF 2023 以前でも引き続き使用できます。

ColdFusion コンテナでサポートされているコマンド

  • help
  • start
  • info
  • cli <.cfm>

ColdFusion コンテナ管理

コンテナの起動

docker start cf-container

コンテナの停止

docker stop cf-container

コンテナの削除

docker rm -f cf-container

Docker Compose の利用

Docker Compose を使用すると、単一の設定ファイル(docker-compose.yml)を通じて複数のサービス(web アプリケーションやデータベースなど)を定義および実行できます。複数の docker run コマンドを手動で実行する代わりに、すべてを YAML ファイルで定義し、次のように開始してプロセスを効率化できます。

docker-compose up -d

ColdFusion と MySQL データベースの統合

この例では、ColdFusion ベースイメージを拡張して MySQL ドライバーを含め、ColdFusion の Admin API を使用して MySQL データソースを設定します。

Docker ファイル

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

メモ:現在の作業用ディレクトリで mysql-connector-java-commercial-8.0.11-bin.jar が使用可能であることを確認します。

ColdFusion Admin API スクリプト

MySQL データソースを設定するには、web ルートに setupColdFusion.cfm という名前のファイルを作成します。

<cfscript>
// ColdFusion Administrator で認証します
adminObj = createObject(&quot;component&quot;,&quot;CFIDE.adminapi.administrator&quot;);
adminObj.login(&quot;ColdFusion123&quot;); // ColdFusion 管理者パスワード
// MySQL データソースを確立します
datasource = createObject(&quot;component&quot;, &quot;CFIDE.adminapi.datasource&quot;);
datasource.setMySQL5(&quot;SampleMYSqlDB&quot;, &quot;database-host&quot;, &quot;testDB&quot;);
</cfscript>
<cfscript> // ColdFusion Administrator で認証します adminObj = createObject(&quot;component&quot;,&quot;CFIDE.adminapi.administrator&quot;); adminObj.login(&quot;ColdFusion123&quot;); // ColdFusion 管理者パスワード // MySQL データソースを確立します datasource = createObject(&quot;component&quot;, &quot;CFIDE.adminapi.datasource&quot;); datasource.setMySQL5(&quot;SampleMYSqlDB&quot;, &quot;database-host&quot;, &quot;testDB&quot;); </cfscript>
<cfscript> 
   // ColdFusion Administrator で認証します 
   adminObj = createObject(&quot;component&quot;,&quot;CFIDE.adminapi.administrator&quot;); 
   adminObj.login(&quot;ColdFusion123&quot;); // ColdFusion 管理者パスワード 
    
   // 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 ファイルと 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:
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:
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

次の内容の .env ファイル(coldfusion.env)を作成します。

acceptEULA=YES 
 setupScript= setupColdFusion.cfm
 password=ColdFusion123

Docker Compose の実行

次を使用してすべてのサービスを起動します。

docker-compose up -d 

docker-compose.yml ファイルは、Docker Compose を使用したマルチコンテナ設定を定義します。ColdFusion、Redis、アドオンという 3 つの主要なサービスを指定し、これらの依存関係、ネットワーク、デプロイメント設定を行います。

setupColdFusion.cfm スクリプトはコンテナの起動時に自動的に実行され、MySQL データソースが適切に設定されていることを確認します。ColdFusion Administrator にアクセスして、設定を確認します。

Docker の秘密鍵

Docker の秘密鍵を使用すると、Swarm 環境で機密データを安全に管理できます。これらの秘密鍵は、転送中と保存中の両方で暗号化され、明示的に権限を付与するサービスのみが、そのタスクの実行中にのみアクセスできます。

ColdFusion での秘密鍵の使用

ColdFusion では、次のような機密性の高い資格情報を安全に渡すことができます。

  • ColdFusion Administrator のパスワード
  • CF アドオンパスワード
  • CF 外部セッションストレージパスワード(Redis パスワード)

これらの資格情報は、Docker の秘密鍵として格納できます。秘密鍵の名前は、対応する環境変数の名前と一致する必要があります。

  • password → ColdFusion 管理者パスワード
  • addonsPassword → CF アドオンパスワード
  • externalSessionsPassword → Redis パスワード

例:ColdFusion 管理者パスワードの変更

コンテナ内の ColdFusion Administrator コンソールのパスワードを変更するには、password という名前の Docker の秘密鍵を作成します。コンテナが起動すると、この秘密鍵が自動的に取得され、それに応じて管理者パスワードが更新されます。

秘密鍵のストレージ場所

デフォルトでは、秘密鍵は次の場所のコンテナ内で使用できます。

/run/secrets/<secret_name>

カスタムの場所に格納する必要がある場合は、cfsecretPath 環境変数を使用してパスを指定します。

Docker の秘密鍵の作成方法

文字列から秘密鍵を作成

printf "myCFcomplexPassword" | docker secret create password - 

ファイルから秘密鍵を作成

docker secret create password ./secret.txt 

secret.txt の内容

myCFcomplexPassword

サンプル docker-compose.yml 設定

version: &quot;3.3&quot;
services:
coldfusion:
image: adobecoldfusion/coldfusion:latest
ports:
- &quot;8501:8500&quot;
env_file:
- variables.env
volumes:
- &quot;./mynewwebroot:/app&quot;
networks:
- webnet
secrets:
- source: password
target: /opt/secrets/password
networks:
webnet:
secrets:
password:
external: true
version: &quot;3.3&quot; services: coldfusion: image: adobecoldfusion/coldfusion:latest ports: - &quot;8501:8500&quot; env_file: - variables.env volumes: - &quot;./mynewwebroot:/app&quot; networks: - webnet secrets: - source: password target: /opt/secrets/password networks: webnet: secrets: password: external: true
version: &quot;3.3&quot; 
services: 
  coldfusion: 
    image: adobecoldfusion/coldfusion:latest 
    ports: 
      - &quot;8501:8500&quot; 
    env_file: 
      - variables.env 
    volumes: 
      - &quot;./mynewwebroot:/app&quot; 
    networks: 
      - webnet 
    secrets: 
      - source: password 
        target: /opt/secrets/password 
 
networks: 
  webnet: 
 
secrets: 
  password: 
    external: true  

サンプル variables.env ファイル

acceptEULA=YES 
 password=ColdFusion123 
 cfsecretPath=/opt/secrets/

ColdFusion の秘密鍵の優先順位

同じパスワードを環境変数と Docker の秘密鍵の両方で定義している場合は、秘密鍵が優先されます。上記の例では、CF Admin Console のパスワードは、cfsecretPath を通じて定義した /opt/secrets/password から取得されるので、myCFcomplexPassword になります。

ColdFusion の Docker 設定の管理

概要

Docker 設定では、機密性の低い設定データを Docker Swarm 環境に格納します。 秘密鍵と同様に機能しますが、格納時に暗号化されません。

Docker 設定への ColdFusion 設定の格納

ColdFusion では、Docker 設定に次の環境変数を格納することをサポートしています。

  • enableSecureProfile
  • configureExternalSessions
  • externalSessionsHost
  • externalSessionsPort
  • externalSessionsPassword
  • configureExternalAddons
  • addonsHost
  • addonsPort
  • addonsUsername
  • addonsPassword
  • addonsPDFServiceName
  • addonsPDFSSL
  • setupScript
  • setupScriptDelete
  • language
  • installModules
  • importCFSettings
  • importCFSettingsPassphrase
  • deploymentType
  • profile
  • allowedAdminIPList

設定キーと同じ名前(例:enableSecureProfile)の設定を作成することも、cfconfig という名前の単一の設定ファイルに複数の設定を格納することもできます。 

デフォルトでは、設定は /<config_name> の下にあるコンテナで使用できます。cfconfigPath 環境変数を使用して別のパスを指定できます。

Docker 設定の作成

次のコマンドから設定を作成します。

printf "scheduler" | docker config create installModules -

次のファイルから設定を作成します。

docker config create cfconfig ./cfconfig.txt

cfconfig.txt ファイルの例:

enableSecureProfile=true
language=en
installModules=debugger
setupScript=c.cfm
profile=Production Secure
setupScriptDelete=false
deploymentType=Staging
allowedAdminIPList=*.*.*.*
importCFSettings=cfsetupexport.json
importCFSettingsPassphrase=coldfusion123
enableSecureProfile=true language=en installModules=debugger setupScript=c.cfm profile=Production Secure setupScriptDelete=false deploymentType=Staging allowedAdminIPList=*.*.*.* importCFSettings=cfsetupexport.json importCFSettingsPassphrase=coldfusion123
enableSecureProfile=true 
language=en 
installModules=debugger 
setupScript=c.cfm 
profile=Production Secure 
setupScriptDelete=false 
deploymentType=Staging 
allowedAdminIPList=*.*.*.* 
importCFSettings=cfsetupexport.json 
importCFSettingsPassphrase=coldfusion123

docker-compose.yml の設定例

version: &quot;3.3&quot;
services:
coldfusion1:
image: adobecoldfusion/coldfusion:latest
ports:
- &quot;8500:8500&quot;
env_file:
- variables.env
volumes:
- &quot;./mynewwebroot/:/app&quot;
networks:
- webnet
secrets:
- source: password
target: /run/secrets/password
configs:
- source: cfconfig
target: /opt/config/cfconfig
configs:
cfconfig:
external: true
networks:
webnet:
secrets:
password:
external: true
version: &quot;3.3&quot; services: coldfusion1: image: adobecoldfusion/coldfusion:latest ports: - &quot;8500:8500&quot; env_file: - variables.env volumes: - &quot;./mynewwebroot/:/app&quot; networks: - webnet secrets: - source: password target: /run/secrets/password configs: - source: cfconfig target: /opt/config/cfconfig configs: cfconfig: external: true networks: webnet: secrets: password: external: true
version: &quot;3.3&quot; 
services: 
  coldfusion1: 
    image: adobecoldfusion/coldfusion:latest 
    ports: 
      - &quot;8500:8500&quot; 
    env_file: 
      - variables.env 
    volumes: 
      - &quot;./mynewwebroot/:/app&quot; 
    networks: 
      - webnet 
    secrets: 
      - source: password 
        target: /run/secrets/password 
    configs: 
      - source: cfconfig 
        target: /opt/config/cfconfig 
configs: 
  cfconfig: 
    external: true 
networks: 
  webnet: 
secrets: 
  password: 
    external: true 

Docker Swarm を使用した ColdFusion の実行

docker swarm init 
 docker stack deploy -c compose1.yml UsingCFConfig

JSON 形式での ColdFusion 設定の格納

cfconfig ファイルには、各設定のキーと値のペアを格納するか、JSON ファイルとしてフォーマットできます。

サンプル config.json ファイル:

{
&quot;enableSecureProfile&quot;: &quot;YES&quot;,
&quot;language&quot;: &quot;ja&quot;
}
{ &quot;enableSecureProfile&quot;: &quot;YES&quot;, &quot;language&quot;: &quot;ja&quot; }
{ 
  &quot;enableSecureProfile&quot;: &quot;YES&quot;, 
  &quot;language&quot;: &quot;ja&quot; 
}

JSON 設定を使用した docker-compose.yml の例:

version: &quot;3.3&quot;
services:
coldfusion1:
image: adobecoldfusion/coldfusion:latest
ports:
- &quot;8501:8500&quot;
env_file:
- variables.env
networks:
- webnet
secrets:
- source: password
target: /run/secrets/password
configs:
- source: cfconfig
target: /opt/config/cfconfig
configs:
cfconfig:
file: config.json
networks:
webnet:
secrets:
password:
external: true
version: &quot;3.3&quot; services: coldfusion1: image: adobecoldfusion/coldfusion:latest ports: - &quot;8501:8500&quot; env_file: - variables.env networks: - webnet secrets: - source: password target: /run/secrets/password configs: - source: cfconfig target: /opt/config/cfconfig configs: cfconfig: file: config.json networks: webnet: secrets: password: external: true
version: &quot;3.3&quot; 
services: 
  coldfusion1: 
    image: adobecoldfusion/coldfusion:latest 
    ports: 
      - &quot;8501:8500&quot; 
    env_file: 
      - variables.env 
    networks: 
      - webnet 
    secrets: 
      - source: password 
        target: /run/secrets/password 
    configs: 
      - source: cfconfig 
        target: /opt/config/cfconfig 
configs: 
  cfconfig: 
    file: config.json 
networks: 
  webnet: 
secrets: 
  password: 
    external: true 

variables.env ファイルの例:

acceptEULA=YES 
 cfconfigPath=/opt/config

コンテナを開始するコマンド:

docker swarm init 
 docker stack deploy -c docker-compose.yml cfconfig.json

設定の優先順位:環境変数と Docker 設定

環境変数と Docker 設定の両方で設定を定義している場合、Docker では設定が優先されます。

シナリオ例:

printf "cfmongodb" | docker config create installModules - 
 docker config create cfconfig ./cfconfig.txt

cfconfig.txt ファイルの例:

acceptEULA=YES 
 installModules=scheduler

variables.env ファイルの例:

installModules=debugger

優先順位のルール:

  1. installModules は次の場所で定義されています。
    1. 個別の Docker 設定(installModules)
    2. マルチ設定(cfconfig)
    3. 環境変数(variables.env の installModules)
  2. Docker では、環境変数より設定が優先されます。
  3. installModules 設定が優先されるので、cfmongodb がインストールされます。
  4. installModules を別の設定として定義していない場合、cfconfig から読み取ります。
  5. いずれの設定も定義していない場合は、環境変数が使用されます。

中央管理型サーバー

ColdFusion Docker イメージを使用すると、コンテナの起動時に CCS サーバーを起動し、ノードを自動的に追加できます。 次の環境変数を使用して設定を指定します。

CCSNodes

CCSNodes 変数には、CCS サーバーに接続するクライアントノードのリストが含まれます。

各ノードは、次のようにフォーマットする必要があります。

hostname:port secretkey (true/false)

  • hostname:クライアントのホスト名または IP アドレス。
  • port:通信に使用されるポート番号。
  • secretkey:<cf_instancehome>/lib/ccs/ccs.properties にある認証用の一意のキー。
  • true/false:SSLが有効かどうかを示します(有効の場合は true、無効の場合は false)。デフォルトでは false です。

例:

hostname1:8500 mySecretKey1 true;hostname2:8501 mySecretKey2;hostname3:8502 mySecretKey3 false

複数のクライアントノードをセミコロン(;)で区切ります。

ノードに対して SSL が有効になっている場合は、最後のパラメーターを true に設定します。それ以外の場合は、空のままにするか、false に設定します。

startCCS

起動時に CCS を有効または無効にするには、true または false(デフォルト)に設定します。

CCS を使用した ColdFusion コンテナの実行

次の docker run コマンドを使用します。

docker run -dt -e acceptEULA=YES -p 8501:8500 -p 7071:7071 \ 
  -e startCCS=true -e CCSNodes="cfhost1:8500 key1;cfhost2:8443 key2 true;cfhost3:8502 key3" adobecoldfusion/coldfusion:latest

CCS の Docker 設定の使用

Docker 設定ファイルを使用して CCS を設定することもできます。例:

config.json

{
&quot;language&quot;: &quot;ja&quot;,
&quot;deploymentType&quot;: 1,
&quot;profile&quot;: 2,
&quot;startCCS&quot;: true,
&quot;CCSNodes&quot;: &quot;node1:8500 key1 false;node2:8443 key2 true&quot;
}
{ &quot;language&quot;: &quot;ja&quot;, &quot;deploymentType&quot;: 1, &quot;profile&quot;: 2, &quot;startCCS&quot;: true, &quot;CCSNodes&quot;: &quot;node1:8500 key1 false;node2:8443 key2 true&quot; }
{ 
  &quot;language&quot;: &quot;ja&quot;, 
  &quot;deploymentType&quot;: 1, 
  &quot;profile&quot;: 2, 
  &quot;startCCS&quot;: true, 
  &quot;CCSNodes&quot;: &quot;node1:8500 key1 false;node2:8443 key2 true&quot; 
}

docker-compose.yml

version: &quot;3.3&quot;
services:
coldfusion1:
image: adobecoldfusion/coldfusion:latest
ports:
- &quot;8701:8500&quot;
env_file:
- variables.env
volumes:
- &quot;./mynewwebroot/:/app&quot;
- &quot;./mydata:/data&quot;
networks:
- webnet
configs:
- source: cfconfig
target: /opt/config/cfconfig
configs:
cfconfig:
file: config.json
networks:
webnet:
version: &quot;3.3&quot; services: coldfusion1: image: adobecoldfusion/coldfusion:latest ports: - &quot;8701:8500&quot; env_file: - variables.env volumes: - &quot;./mynewwebroot/:/app&quot; - &quot;./mydata:/data&quot; networks: - webnet configs: - source: cfconfig target: /opt/config/cfconfig configs: cfconfig: file: config.json networks: webnet:
version: &quot;3.3&quot; 
services: 
  coldfusion1: 
    image: adobecoldfusion/coldfusion:latest 
    ports: 
      - &quot;8701:8500&quot; 
    env_file: 
      - variables.env 
    volumes: 
      - &quot;./mynewwebroot/:/app&quot; 
      - &quot;./mydata:/data&quot; 
    networks: 
      - webnet 
    configs: 
      - source: cfconfig 
        target: /opt/config/cfconfig 
 
configs: 
  cfconfig: 
    file: config.json 
 
networks: 
  webnet: 

variables.env

acceptEULA=YES 
 cfconfigPath=/opt/config

Docker Swarm を使用した CCS のデプロイ

すべての設定が完了したら、Docker Swarm を初期化し、スタックをデプロイします。

docker swarm init 
 docker stack deploy -c docker-compose.yml ccsserver

注意:

Docker の秘密鍵、設定、CCS サーバーは、ColdFusion(2025 リリース)でのみ使用できます。

ColdFusion アドオンと Performance Monitoring Toolset

ColdFusion アドオン

ColdFusion アドオンは、Solr(検索)や PDFG(PDF 生成)などの追加サービスを提供します。これらのアドオンは、より良いオーケストレーションを実現するために Docker Compose を使用して ColdFusion サーバーと並行して個別の Docker コンテナとして実行できます。

ColdFusion アドオンイメージのプル

ColdFusion アドオンイメージは、Amazon ECR および Docker Hub で入手できます。

ECR から:

docker pull public.ecr.aws/adobe/coldfusionaddons:latest 
 docker pull public.ecr.aws/adobe/coldfusionaddons:latest-2025 
 docker pull public.ecr.aws/adobe/coldfusionaddons2023:latest

Docker Hub から:

docker pull adobecoldfusion/coldfusionaddons:latest-2025 
 docker pull adobecoldfusion/coldfusionaddons:latest-2023 
 docker pull adobecoldfusion/coldfusionaddons2023:latest

サポートされている環境変数

必須

acceptEULA=YES

オプション

solrUsername=<SOLR-USERNAME> 
 solrPassword=<SOLR-PASSWORD>

ColdFusion アドオンコンテナの実行

基本的な使用方法:

docker run -dt -p 8993:8995 -e acceptEULA=YES public.ecr.aws/adobe/coldfusionaddons:latest start

Solr 資格情報の指定:

docker run -dt -p 8994:8995 -e acceptEULA=YES -e solrUsername=admin -e solrPassword=admin adobecoldfusion/coldfusionaddons:latest

Performance Monitoring Toolset(PMT)

コンテナで PMT を実行する前に、システム制限が正しく設定されていることを確認します。

ulimit -n 65536  
 sysctl -w vm.max_map_count=262144

PMT イメージのプル

PMT イメージは、Amazon ECR および Docker Hub で入手できます。

ECR から:

docker pull public.ecr.aws/adobe/pmt:latest 
 docker pull public.ecr.aws/adobe/pmt:latest-2025 
 docker pull public.ecr.aws/adobe/pmt2021:latest 

Docker Hub から:

docker pull adobecoldfusion/pmt:latest 
 docker pull adobecoldfusion/pmt:latest-2023 
 docker pull adobecoldfusion/pmt2021:latest 

サポートされている環境変数:

必須:

acceptEULA=YES 
 datastoreHost=<DATASTORE-HOSTNAME> 
 datastorePort=<DATASTORE-PORT> 

オプション:

startPMT=true # Default: true 
 startDatastore=true # Default: true 
 dataStoreNodeName=<Cluster Node Name> 
 dataStoreMaster=true # Default: true (Set false for additional nodes) 
 dataStoreNodes=["host1:port1", "host2:port2"] 

PMT コンテナの実行

docker run -dt -p 9101:9101 -e acceptEULA=YES \ 
 -e datastoreHost=<ElasticSearchHostName> \ 
 -e datastorePort=<ElasticSearchPort> \ 
 -e startDatastore=false \ 
 adobecoldfusion/pmt:latest start 

Docker Compose を使用した ColdFusion と PMT の実行

環境ファイル

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:2023.0.7
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: adobecoldfusion/pmt:2023.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:
version: &quot;3&quot; services: coldfusion: container_name: coldfusion image: coldfusion:2023.0.7 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: adobecoldfusion/pmt:2023.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:
version: &quot;3&quot; 
services: 
  coldfusion: 
    container_name: coldfusion 
    image: coldfusion:2023.0.7 
    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: adobecoldfusion/pmt:2023.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:

この設定により、ColdFusion と PMT の両方が適切に調整された Docker 環境で一緒に実行されるようになります。

ColdFusion API Manager Docker イメージ

ColdFusion API Manager(APIM)の Docker イメージは、Amazon ECR と Docker Hub の両方で入手できます。次のコマンドを使用して、最新のイメージをプルできます。

API Manager イメージの取得

Amazon ECR から:

docker pull public.ecr.aws/adobe/apimanager:latest   
 
docker pull public.ecr.aws/adobe/apimanager:latest-2023   
 
docker pull public.ecr.aws/adobe/apimanager2023:2023.0.12

Docker Hub から:

docker pull adobecoldfusion/apimanager:latest   
 
docker pull adobecoldfusion/apimanager:latest-2025   
 
docker pull adobecoldfusion/apimanager2023:latest

環境変数

サポートされている環境変数のリストを表示するには、次を実行します。

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

サポートされているコマンド:

  • help
  • start <.cfm>

必須環境変数:

  • apim_acceptEULA=YES

オプション環境変数:

  • apim_serial=<シリアルキー>
  • apim_previousSerial=<以前のシリアルキー(アップグレード)>
  • apim_password=<API Manager 管理者パスワード>
  • apim_datastoreHost=<データストアのホスト名>
  • apim_datastorePort=<データストアポート>
  • apim_datastorePassword=<Redis(データストア)パスワード>
  • apim_datastoreSeed=<データストア暗号化シード>
  • apim_analyticsHost=<分析サーバーホスト名>
  • apim_analyticsPort=<分析サーバーポート>
  • apim_analyticsClusterPort=<分析サーバークラスターポート>
  • apim_analyticsClusterName=<Elasticsearch クラスター名>

使用状況

Amazon ECR からの API Manager の実行:

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

Docker Hub からの API Manager の実行:

docker run -dt -p 8500:8500 \
-e apim_ acceptEULA=YES \
-e apim_ datastoreHost=<ホスト名> \
-e apim_ datastorePort=6378 \
-e apim_ analyticsHost=10.42.70.250 \
-e apim_ analyticsPort=9201 \
-e apim_ analyticsClusterPort=<クラスターポート> \
-e apim_ analyticsClusterName=<Elasticsearch クラスター名> \
apimanager:latest

Docker Compose の設定

次に、サンプル 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:
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:
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

apim_ acceptEULA=YES   
 apim_ serial=<シリアル番号を入力します>   
 apim_Password=APIManager123   
 apim_ datastoreHost=datastore   
 apim_ datastorePort=6379   
 apim_ datastorePassword=MyRedisPassword   
 apim_ analyticsHost=analytics   
 apim_ analyticsPort=9200   
 apim_ analyticsClusterPort=9300   
 apim_ analyticsClusterName=apim-analytics

analytics.env

acceptEULA=YES
 startAnalyticsService=true
 analyticsClusterName=apim-analytics

datastore.env

acceptEULA=YES
 startDatastoreService=true
 datastorePassword=MyRedisPassword

ヘルプをすばやく簡単に入手

新規ユーザーの場合

Acrobat 購入相談

Acrobat 購入相談

Acrobat 購入相談

Acrobat 購入相談