Use the below command to bring up the ColdFusion container in daemon mode with Admin password set as ‘ColdFusion123’ and to serialize ColdFusion image with a given serial number.
IMPORTANT 8/18/2021
We have removed the tar files from our repositories. You can no longer download the tar files and use the images.
All Docker images are now available in Amazon ECR and Docker Hub..
We have hosted the Docker images in Amazon ECR and Docker Hub. You can load the images in your local environment using the command below:
Once the image is available in your local system, you can then run the Docker commands. The name of the image will follow the tag conventions, which are listed below:
For a list of environment variables (see section below) for this image, enter:
docker run --rm -it adobecoldfusion/coldfusion:latest help
Supported commands: help, start, info, cli <.cfm>
Webroot: /app
CAR imports: CAR files present in /data will be automatically imported during startup.
Required ENV Variables: acceptEULA=YES Optional ENV variables: serial=<ColdFusion Serial Key> previousSerial=<ColdFusion Previous Serial Key (Upgrade)> password=<Password> enableSecureProfile=<true/false(default)> configureExternalSessions=<true/false(default)> externalSessionsHost=<Redis Host (Default:localhost)> externalSessionsPort=<Redis Port (Default:6379)> externalSessionsPassword=<Redis Password (Default:Empty)> configureExternalAddons=<true/false(default)> addonsHost=<Addon Container Host (Default: localhost)> addonsPort=<Addon Container Port (Default: 8993)> addonsUsername=<Solr username (Default: admin)> addonsPassword=<Solr password (Default: admin)> addonsPDFServiceName=<PDF Service Name (Default: addonsContainer)> addonsPDFSSL=<true/false(default)> setupScript=<CFM page to be invoked on startup. Must be present in the webroot, /app> setupScriptDelete=<true/false(default) Auto delete setupScript post execution> language=<ja/en (Default: en)> installModules=<Comma delimited list of modules to be installed by CF Package Manager,accepts 'all' for installing all the available packages> importCFSettings=<A JSON file containing the CF Settings to be imported . Must be present in the webroot, /app> importCFSettingsPassphrase=<Passphrase to import CF settings from an encrypted JSON file.> importModules=<A text file containing packages to be imported. Must be present in the webroot, /app>
Use the below command to bring up the ColdFusion container in daemon mode with Admin password set as ‘ColdFusion123’ and to serialize ColdFusion image with a given serial number.
docker container run -dt -p 8500:8500 -e acceptEULA=YES -e password=ColdFusion123 -e serial=<serialnumber> adobecoldfusion/coldfusion:latest
By default, Administrator and Admin API modules are installed in the ColdFusion 2021 Image. To install /import modules in an image use the environment variable installModules/importModules. You can also import ColdFusion settings from a json file using the environment variable importCFSettings.
Run the command below to create a container that imports the ColdFusion settings from config.json and installs, for example, the modules scheduler and 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
By default, the deployment type and profile of ColdFusion 2021 image is Development. To change the profile & deployment type, use the environment variables ‘deploymenType’ & ‘profile’ .
You can also set the allowed Ip List for ColdFusion Admin using the environment variable ‘allowedAdminIPList’. The IP List is set only when the profile is “Production Secure”.
docker container run -dt -p 8535:8500 -e acceptEULA=YES -e password=ColdFusion123 -e deploymentType=Production -e profile=”Production Secure” -e serial=<serialnumber> -e allowedAdminIPList=*.*.*.*,0.0.0.0 public.ecr.aws/adobe/coldfusion:latest
To run a CFM page /application that is outside the container, you need to map a volume to /app directory of the container. The webroot is reconfigured to point to the directory, /app. Run a CFM page test.cfm , present in /opt/mywebroot via CLI.
docker run --rm -it -e acceptEULA=YES –v /opt/mywebroot:/app adobecoldfusion/coldfusion2021:latest cli test.cfm
For importing configurations using CAR, the CAR archives mounted to the /data directory are automatically imported during startup. Use the following command to import CAR data.car present in opt/source:
docker container run -dt -p 8520:8500 -v /opt/source/:/data -v /opt/mywebroot/:/app -e acceptEULA=YES aobecoldfusion/coldfusion2021:2021.0.2
You will have a docker image in your system tagged as ColdFusion:2021.0.1
The docker image accepts these additional environment variables:
For a list of environment variables for this image, enter:
docker run --rm -it adobecoldfusion/coldfusion:latest-2018 help
Supported commands: help, start, info, cli <.cfm>
Webroot: /app
CAR imports: CAR files present in /data will be automatically imported during startup.
Required ENV Variables: acceptEULA=YES Optional ENV variables: serial=<ColdFusion Serial Key> previousSerial=<ColdFusion Previous Serial Key (Upgrade)> password=<Password> enableSecureProfile=<true/false(default)> configureExternalSessions=<true/false(default)> externalSessionsHost=<Redis Host (Default:localhost)> externalSessionsPort=<Redis Port (Default:6379)> externalSessionsPassword=<Redis Password (Default:Empty)> configureExternalAddons=<true/false(default)> addonsHost=<Addon Container Host (Default: localhost)> addonsPort=<Addon Container Port (Default: 8989)> addonsUsername=<Solr username (Default: admin)> addonsPassword=<Solr password (Default: admin)> addonsPDFServiceName=<PDF Service Name (Default: addonsContainer)> addonsPDFSSL=<true/false(default)> setupScript=<CFM page to be invoked on startup. Must be present in the webroot, /app> setupScriptDelete=<true/false(default) Auto delete setupScript post execution> language=<ja/en (Default: en)>
To view a list of all running or stopped containers, enter:
docker ps -a
To check the status of the container, enter:
docker logs <containerID / containerName>
To stop a container, enter:
docker stop <containerID / containerName>
To remove a container, enter:
docker rm <container ID/ containerName>
In this scenario, we shall extend the ColdFusion base image to register a MySQL driver, so that we can create a MySQL datasource using ColdFusion’s Admin API.
Dockerfile
FROM coldfusion:latest COPY mysql-connector-java-commercial-5.1.25-bin.jar /opt/coldfusion/cfusion/lib
The file, mysql-connector-java-commercial-5.1.25-bin.jar, must be present in the current working directory.
In the webroot, create a cfm that uses ColdFusion’s Admin API to create a datasource. Let’s call the CFM page, setupColdFusion.cfm. Place the file in the mounted webroot volume.
<cfscript> // Login is always required. This example uses two lines of code. adminObj = createObject("component","CFIDE.adminapi.administrator"); adminObj.login("ColdFusion123"); //CF Admin password // Create a MySQL datasource datasource = createObject("component", "CFIDE.adminapi.datasource"); datasource.setMySQL5("SampleMYSqlDB", "database-host", "testDB"); </cfscript>
To build and bring up a container based on this image, run Docker compose. A Docker compose file is a tool for defining and running applications in a Docker container.
Create a docker-compose.yml file with the following content outside the directory that contains the above DockerFile and setupColdFusion.cfm. The directory that contains the above files must be named ‘app’.
Docker-compose.yml
version: "3" services: coldfusion: container_name: myapp build: context: ./app dockerfile: Dockerfile image: app depends_on: - redis - addons ports: - "8500:8500" volumes: - "/opt/wwwroot:/app" 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: - "8989:8989" networks: - webnet redis: container_name: myredis image: redis:latest ports: - "6381:6379" volumes: - "redis_data:/data" networks: - webnet volumes: redis_data: networks: webnet:
coldfusion.env
acceptEULA=YES password=ColdFusion123
To run Docker compose, enter the following command:
docker-compose up -d
The ColdFusionpage, setupColdFusion.cfm is executed on container starts up, since the environment variable, ‘setupScript’ is configured appropriately.
You can access the administrator to ensure that the MySQL datasource is configured correctly.
The ColdFusion (2021 release) add-ons image (for Solr and PDFg/CFHTMLtoPDF) are hosted in this location for ECR and Docker Hub.
You can pull the latest docker images of ColdFusion Addons from AWS (Amazon Web Services) ECR in your local environment using the following commands:
docker pull public.ecr.aws/adobe/coldfusionaddons:latest (ColdFusion 2021 Addons Update 2 )
docker pull public.ecr.aws/adobe/coldfusionaddons:latest-2021 (ColdFusion 2021 Addons Update 2 )
docker pull public.ecr.aws/adobe/coldfusionaddons2021:2021.0.2 (ColdFusion 2021 Addons Update 2)
docker pull public.ecr.aws/adobe/coldfusionaddons2021:latest (ColdFusion 2021 Addons Update 2)
The equivalent commands to pull the latest docker images of ColdFusion Addons from Docker Hub are:
docker pull adobecoldfusion/coldfusionaddons:latest (ColdFusion Addons 2021 Update 2)
docker pull adobecoldfusion/coldfusionaddons:latest-2021 (ColdFusion Addons 2021 Update 2)
docker pull adobecoldfusion/coldfusionaddons2021:2021.0.2 (ColdFusion 2021Addons Update 2)
docker pull adobecoldfusion/coldfusionaddons2021:latest (ColdFusion 2021 AddonsUpdate 2)
To pull the latest image of ColdFusion Addons (2018 release) from AWS ECR in your local environment use the following commands:
docker pull public.ecr.aws/adobe/coldfusionaddons:latest-2018
docker pull public.ecr.aws/adobe/coldfusionaddons2018:2018.0.0
docker pull public.ecr.aws/adobe/coldfusionaddons2018:latest
To pull the latest image of ColdFusion Addons (2018 release) from Docker Hub in your local environment use the following commands:
docker pull adobecoldfusion/coldfusionaddons:latest-2018 (ColdFusion 2018 Update 12)
docker pull adobecoldfusion /coldfusionaddons2018:2018.0.12 (ColdFusion 2018 Update 12)
docker pull adobecoldfusion/coldfusionaddons2018:latest (ColdFusion 2018 Update 12)
docker run <product>:<version>
To get the list of environment variables for this image, use the following command ,
ECR:
docker run --rm -it public.ecr.aws/adobe/coldfusionaddons:latest help
Docker Hub:
docker run --rm -it adobecoldfusion/coldfusionaddons2021:latest help
Supported commands: help, start <.cfm>
Required ENV Variables:
acceptEULA=YES
Optional ENV Variables:
solrUsername=<SOLR-USERNAME>
solrPassword=<SOLR-PASSWORD>
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
ECR:
docker run -dt -p 8993:8993 -e acceptEULA=YES public.ecr.aws/adobe/coldfusionaddons:latest start
docker run -dt -p 8991:8991 -e acceptEULA=YES public.ecr.aws/adobe/coldfusionaddons:latest-2018 start
Docker Hub:
docker run -dt -p 8994:8993 -e acceptEULA=YES -e solrUsername=admin -e solrPassword=admin adobecoldfusion/coldfusionaddons:latest
docker run -dt -p 8990:8991 -e acceptEULA=YES -e solrUsername=admin -e solrPassword=admin adobecoldfusion/coldfusionaddons2018:latest start
Run the following commands before you start a Performance Monitoring Toolset container:
The Docker image for Performance Monitoring Toolset is available for ECR and Docker Hub.
The Docker image for Performance Monitoring Toolset(PMT) is available for ECR and Docker Hub.
You can pull the latest docker images of PMT from AWS (Amazon Web Services) ECR in your local environment using the following commands:
docker pull public.ecr.aws/adobe/pmt:latest (PMT 2021 Update 2)
docker pull public.ecr.aws/adobe/pmt:latest-2021 (PMT 2021 Update 2)
docker pull public.ecr.aws/adobe/pmt2021:2021.0.2 (PMT 2021 Update 2)
docker pull public.ecr.aws/adobe/pmt2021:latest (PMT 2021 Update 2)
The equivalent commands to pull the latest docker images of PMT from Docker Hub are:
docker pull adobecoldfusion /pmt:latest (PMT 2021 Update 2)
docker pull adobecoldfusion/ pmt:latest-2021 (PMT 2021 Update 2)
docker pull adobecoldfusion/ pmt2021:2021.0.2 (PMT 2021 Update 2)
docker pull adobecoldfusion/pmt2021:latest (PMT 2021 Update 2)
To pull the latest image of PMT (2018 release) from AWS ECR in your local environment, use the following commands:
docker pull public.ecr.aws/adobe/pmt:latest-2018 (PMT 2018 Update 3)
docker pull public.ecr.aws/adobe/pmt2018:2018.0.3 (PMT 2018 Update 3)
docker pull public.ecr.aws/adobe/pmt2018:latest (PMT 2018 Update 3)
To pull the latest image of PMT (2018 release) from Docker Hub in your local environment use the following commands:
docker pull adobecoldfusion/pmt:latest-2018 (PMT 2018 Update 3)
docker pull adobecoldfusion/pmt2018:2018.0.3 (PMT 2018 Update 3)
docker pull adobecoldfusion/pmt2018:latest (PMT 2018 Update 3)
To get a list of environment variables in the image, use the command:
docker run --rm -it public.ecr.aws/adobe/pmt:latest help
docker run --rm -it adobecoldfusion/pmt:latest help
Supported commands: help, start
Required ENV Variables:
acceptEULA=YES
datastoreHost=<DATASTORE-HOSTNAME>
datastorePort=<DATASTORE-PORT>
Optional ENV Variables:
startPMT=<true/false; default:true>
startDatastore=<true/false; default:true>
dataStoreNodeName=<Name for identifying datastore node in a cluster. Default:not set>
dataStoreMaster=<true/false; default:true, can be set to false on datastore instances added to a cluster>
dataStoreNodes=["host1:port1", "host2:port2"]
To run the container with the EULA, use the command:
Docker Hub:
docker run -dt -p 9101:9101 -e acceptEULA=YES -e datastoreHost=<ElasticSearchHostName> -e datastorePort=<ElasticSearchPort> -e startDatastore=false adobecoldfusion/pmt:latest start
ECR:
docker run -dt -p 9101:9101 -e acceptEULA=YES -e datastoreHost=<ElasticSearchHostName> -e datastorePort=<ElasticSearchPort> -e startDatastore=false public.ecr.aws/adobe/pmt:latest-2018 start
pmt.env
acceptEULA=YES datastoreHost=pmt datastorePort=9200 startDatastore=true
coldfusion.env
acceptEULA=YES password=ColdFusion123
docker-compose.yml
version: "3" services: coldfusion: container_name: coldfusion image: coldfusion:2018.0.1 ports: - "8500:8500" volumes: - "./webroot:/app" 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: - "9101:9101" env_file: - pmt.env healthcheck: test: curl -f http://localhost:9101/ interval: 1m timeout: 3s networks: - webnet networks: webnet:
The Docker image for ColdFusion API Manager(APIM) is available for ECR and Docker Hub.
You can pull the latest docker images of APIM from AWS (Amazon Web Services) ECR in your local environment using the following commands:
docker pull public.ecr.aws/adobe/apimanager:latest ( APIM 2021 )
docker pull public.ecr.aws/adobe/apimanager:latest-2021 (APIM 2021 )
docker pull public.ecr.aws/adobe/apimanager2021:2021.0.0 (APIM 2021)
docker pull public.ecr.aws/adobe/apimanager2021:latest (APIM 2021)
The equivalent commands to pull the latest docker images of PMT from Docker Hub are:
docker pull adobecoldfusion /apimanager:latest ( APIM 2021 )
docker pull adobecoldfusion/apimanager:latest-2021 (APIM 2021 )
docker pull adobecoldfusion/apimanager2021:2021.0.0 (APIM 2021)
docker pull adobecoldfusion/apimanager2021:latest (APIM 2021)
To pull the latest image of PMT (2018 release) from AWS ECR in your local environment use the following commands:
docker pull public.ecr.aws/adobe/apimanager:latest-2018
docker pull public.ecr.aws/adobe/apimanager2018:2018.0.0
docker pull public.ecr.aws/adobe/apimanager2018:latest
To pull the latest image of PMT (2018 release) from Docker Hub in your local environment use the following commands:
docker pull adobecoldfusion/apimanager:latest-2018
docker pull adobecoldfusion /apimanager2018:2018.0.0
To get a list of environment variables supported with this image, enter:
docker run --rm -it public.ecr.aws/adobe/apimanager:latest help
Supported commands: help, start <.cfm>
Required ENV Variables: apim_acceptEULA=YES Optional ENV Variables: apim_serial=<Serial Key> apim_previousSerial=<Previous Serial Key (Upgrade)> apim_password=<API Manager Admin Password> apim_datastoreHost=<Datastore Hostname> apim_datastorePort=<Datastore Port> apim_datastorePassword=<Redis (Datastore) Password> apim_datastoreSeed=<Datastore Encryption Seed> apim_analyticsHost=<Analytics Server Hostname> apim_analyticsPort=<Analytics Server Port> apim_analyticsClusterPort=<Analytics Server Cluster Port> apim_analyticsClusterName=<ElasticSearch Cluster Name>
ECR:
docker container run -dt -e acceptEULA=YES -e datastoreHost=<Datastore Hostname> -e datastorePort=<Datastore Port> -e analyticsHost=<Analytics Server Hostname> -e analyticsPort=<Analytics Server Port> -e analyticsClusterPort=<Analytics Server Cluster Port> -e analyticsClusterName=<ElasticSearch Cluster Name> public.ecr.aws/adobe/apimanager:latest
Docker Hub:
docker run -dt -p 8500:8500 -e acceptEULA=YES -e datastoreHost=<Hostname> -e datastorePort=6378 -e analyticsHost=10.42.70.250 -e analyticsPort=9201 -e analyticsClusterPort=<Cluster Port> -e analyticsClusterName=<ElasticSearch Cluster Name> apimanager:latest
docker-compose.yml
version: "3" 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: - "9200:9200" - "9300:9300" apim: container_name: apimanager image: public.ecr.aws/adobe/apimanager:latest ports: - "9000:9000" env_file: - apimanager.env networks: - webnet depends_on: - datastore networks: webnet:
apimanager.env
acceptEULA=YES serial=<enter serial number> 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
Logg på kontoen din