Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Coldfusion 2023 on docker

Participant ,
Sep 18, 2025 Sep 18, 2025

Hi,

We use docker locally and have an issue now with latest 2023 version. We are getting the following error wherever a component is called on a page which has a type on cfargument. Removing the type allows the page to load without error. The error we see is as follows

'coldfusion.runtime.Variable coldfusion.runtime.UDFMethod._validateArgWithValidator(java.lang.String, java.lang.String, coldfusion.runtime.Variable, coldfusion.tagext.validation.CFTypeValidator)'

java.lang.NoSuchMethodError: 'coldfusion.runtime.Variable coldfusion.runtime.UDFMethod._validateArgWithValidator(java.lang.String, java.lang.String, coldfusion.runtime.Variable, coldfusion.tagext.validation.CFTypeValidator)' at

We also see errors related to the image package where it says we need to install the image package but it's already installed. We've pulled most recent image, started stopped the container etc. but still seeing those issues. Nothing obvious showing in the logs. Anyone any ideas?

 

There was a version of Coldfusion 2018 running locally (not via docker) but was uninstalled. Just wondering if that might have an effect.

Thanks

TOPICS
Advanced techniques , Server administration
408
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 18, 2025 Sep 18, 2025

Paul, which cf image are you using?

 

And are you saying it's you're first use of a cf2023 image? Or were things working before? If so, what changed? Did you maybe apply a cf update, such as with the cf2023 admin within the container? You ought to use the new image from Adobe (one is offered for each update).

 

(Failures like that can happen when one applies a cf update, where deleting the cfusion/bin/felix-cache and restarting cf can help. That's harder within a container, but not impossible. It's simply better to use new images with the new update baked in.)

 

Finally, no, nothing about processing cfml within the container would have ANYTHING to do with your having cf2018 installed on the host machine. You could potentially have PORT conflicts if both were running, but the error you show is not about that.)

 

Let us know what you find. 


/Charlie (troubleshooter, carehart. org)
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 19, 2025 Sep 19, 2025

Hi Charlie,

We're using the latest 2023 image which was updated 9 days ago I believe. It worked with the 2018 image but updated it to 2023 one (public.ecr.aws/adobe/coldfusion:latest-2023) and we get these errors. The package issue is also odd. Saying its not installed when it is. 

Paul

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 19, 2025 Sep 19, 2025

Ok, so first it seems you're saying you did intentionally change from using the 2018 to the 2023 image. That's a big jump, of course. Even taking code running on a hosted cf2018 and switching to 2023 you could have errors, perhaps even that one.

 

I don't readily recognize it, as some generic one people get under a common scenario. Assuming no one else does, could you pare it down to a simple few-line demo? It need not even involve a cfc (if you're using one), since you could also define a function and call it in a single cfm.

 

Next, as for the image package, you may already know how that's new as of cf2021 (the notion of cf functionality being broken into packages/modules, which you can optionally install or not).

 

You say that the image package "is already installed". Are you asserting that because it shows that in the cf admin of the container, on its "package management" page, under "installed packages"?

 

More to the point, since you're working with containers, did you indicate the need of that package when you started the container? That's done by either of a couple of env vars. However you may be starting the container (from a dockerfile, a compose file, a kubernetes manifest, the docker run at the command line, or something else), are you specifically naming that package to be installed?

 

Finally, during the startup is when packages are managed,as tracked in the coldfusion-out.log. Do you see it showing setup of this image package (perhaps among others)? Note that with the cf images, for cf2021 and cf2023, there are actually a couple of cf startups per run of the container (such as to handle installing of packages, or other config specifications). So watch out for MORE than just the LATEST cf startup in the logs. (That problem was addressed starting with the cf2025 images.)

 

I realize you're likely wishing simply for a solution to what may seem to you to be a couple of clear bugs. I've not experienced them or helped anyone else hitting them, with the cf2023 images (over the past couple of years).

 

I hope some of these ideas might help, or you can wait to see what others may offer. (I'm writing from a phone, so can't readily setup tests of your two issues.) I'll look forward to your response and take it from there. 


/Charlie (troubleshooter, carehart. org)
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 19, 2025 Sep 19, 2025

Hi Charlie,

To add some context here. We upgraded our servers from 2018 to 2023 this year. These servers are non docker windows servers. We changed some things in code that needed to before we switched and all is good there. Locally we use docker though and we had issues getting that up and running so much so that some have stayed using 2018 because they couldnt things working with the 2023 image. I did manage it myself but not without some pain. I'm trying to get someone else setup now and this is where we're getting the errors mentioned above. 
When Coldfusion fires up and we access the homepage of our app we get these errors as every page would have underlying calls to components which have cfargument parameters with type fields. Remove the type part of the cfargument and the errors go away. But every subsequent page needs the same work. I don't see that on my environment and we have same spec windows machines. One of those pages use the image package in some way and we see that error. We use a docker-compose.yaml file and we use installModules=all as an environment variable. Coldfusion admin fires up fine and confirms all packages are installed. We have also used the 'Exec' tab in docker to go to bin directory and run cfpm.sh and confirmed the image package was installed there. I've checked all the logs expecting to see something there but nothing out of the ordinary. I've had issues myself trying to use cfhtmltopdf locally with the add-ons server with docker but thats another days work. I hoped someone would've come across exactly the same issues but doesn't look like it. Thanks for the help

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 19, 2025 Sep 19, 2025

OK, so a few things in reply, Paul...

 

First, FWIW, I just ran the latest Adobe CF docker image for CF2023 (clearly reporting to be that for 2023 update 16), and I too added installModules=all. Not only does it start fine, and install all the modules, but I can run code within it that uses cfimage...and I can call functions with arguments that have a type. So whatever is amiss about your setup seems unique. But I appreciate you "just want it to work".

 

So first, are you confirming also that your local CF2023 is on update 16? You say it's "the same spec". Just want to be clear., since things "work" there but not in your container. 

 

Next, someone might be tempted to wonder if this could be related to the update from April of this year, which made it be that if you make remote method calls into CFC methods and pass in any arguments, those arguments MUST defined in the CFC method.  But your saying that it's merely a matter related to the TYPE of the cfargument, so it seems unrelated to the change.

 

Some may also be tempted to wonder if this has to do with the CF Admin setting called "disable CFC type check" (on the first settings page). But that has to do with whether CF validates what is RETURNED from a CFC method. You are clearly indicating it's about the type for the incoming cfargument instead--so that setting is unrelatd.

 

I'd asked if you could offer some simple code to demonstrate your problem. I've gone ahead and done that.  Here is a simple test.cfm . Drop it into your /app folder within the container and run it. What does it show for you?

 

Note first it reports the CF version. For the current CF2023 image it should show you 2023,0,16,330828. If somehow it still reports 2023,0,15...., do a docker pull public.ecr.aws/adobe/coldfusion:latest-2023. (As you may know, Docker doesn't pull the new update if you have an older one already cached for that name, when you do a docker run or compose up.) If that pulls a new version, restart the container (compose down and up) and it will use that new one.

 

Then the test.cfm below does a test of using cffunction with a cfargument with a type . The first method call should work, the second should fail (for not matching the type). Do you instead get an error for both? If instead it works, then please create a similarly simple example which demonstrates your error. I'll lbe happy to run it to confirm if I see it.

 

Finally, the code also has a cfimage test at the top (using one of the images within the container). If your run of the page fails simply because the image package is missing, comment out the 2 lines.  But as for WHY you don't have the image package, there WILL be an explanation (of why it's uniquely happening for you) and it SHOULD be clarified in the logs. I appreciate you didn't find it.

 

If you still don't (with this encouragement) and if this is important to solve, I suspect I could help you quickly in in a shared desktop consulting session together, in perhaps as little as 15 mins. More at carehart.org/consulting, including my rates, approach, satisfaction guarantee, and online calendar.

 

Anyway, here now is that code for the test.cfm:

<cfoutput>CF version is: #server.coldfusion.productversion#<br></cfoutput><hr>

<!--- test cfimage call, with an image already within the container --->
<cfimage name="testimage" source="/opt/coldfusion/cfusion/wwwroot/CFIDE/administrator/images/background.jpg">
<cfdump var="#testimage#" label="imagedump">

<hr>
<!--- test function calls with arg checking --->
<cfoutput>
Calling testfunction with arg of 1: #testfunction(1)#<br>
Calling testfunction with arg of "bob": #testfunction("bob")#<br>
</cfoutput>

<cffunction name="testfunction">
        <cfargument name="arg1" default="0" type="integer">
        <cfreturn "testfunction was passed #arguments.arg1#">
</cffunction>

 


/Charlie (troubleshooter, carehart. org)
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 19, 2025 Sep 19, 2025

Also, Paul, you say, "I've had issues myself trying to use cfhtmltopdf locally with the add-ons server with docker but thats another days work."

 

If you mean using the addons image along with the CF image in a single compose, I have good news for you there. That feature does work and while use of the images (CF and addons) is documented, the docs refer to the port numbers as the ones CF2025 uses, such as for this addons image where it shows use of port 8997. For CF2023, though, it would be 8995 (and for CF2021, it would be 8993).

 

BTW, you could also access that 8995 port in the container from your Windows host (if you may be running Docker Desktop), as long as that port is "published" by your compose file (or a docker run command)--and as long as you don't have the addon service implemented and running on the host itself (in which case there would be a port conflict). 

 

FWIW, I do offer a repo full of compose file examples for use with the Adobe CF images (and also the Lucee and Commandbox images). And I also offer variations dmonstrating different cf features--including one for doing cfhtmltodpdf within a CF image, using the available addons image. Granted, I'd done that one for CF2021 (because that's when the change about packages required I change it, using that installModules env var). But you'll see in my compose.yaml file I offer comments for how to change it for CF2023 and 2025 (regarding those ports and of course the image names).

 

That example and all the others are available at:

https://github.com/carehart/awesome-cf-compose/

 

Hopefully this will save you yet "another days work". 🙂 I welcome feedback if you hit any snags using any of the examples. Some others do need to be updated in such ways, and I could always add more variants.


/Charlie (troubleshooter, carehart. org)
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 19, 2025 Sep 19, 2025

Hi Charlie,

We did a pull and were using compose up and down to restart and still had same issues. I have also used your awesome-cf-compose page numerous times and also as a resource when working with cfhtmltopdf. I ended up testing (cfhtmltopdf) on our windows environment as it just worked right away there. Thats one i'll get back to eventually but I had been trying those various ports as mentioned by you on previous posts for other users. As we've moved back to the 2018 image just to get it usable and carry on working, I wont be able try anything more on it until next week. We had reinstalled and restarted a few times so i'd expect to be able recreate it again once we try the 2023 image. Will post back here when I do. 

Thanks

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 24, 2025 Sep 24, 2025

Just a quick update on this. We havent tried with the 2023 image again yet but had issues when switching back to the use the 2018 image. What looks to have solved those issues was the following:

rm -rf /app/WEB-INF/cfclasses/*

from within the container. Will confirm if this also fixes the issues we had when using 2023 image when we try that again.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 24, 2025 Sep 24, 2025
LATEST

Interesting, and I think your problem is becoming more clear (and you maybe doing doing something to be questioned). 

 

1) If you're needing to do that deleting of the cfclasses folder within your container, then I'm now wondering if you are somehow bringing into the container that cfclasses folder with files created from outside that container (perhaps saving/reusing it from previous runs of the container).

 

That might seem reasonable/efficient, but not if you're changing the update version of the cf image. Cf should be building the cfclasses files (for each template run) based on how cf (and packages) have been configured then.

 

By contrast, note that when folks perform a normal cf update, that DOES clear out the cfclasses during the update. A new Cf image on the other hand would have no cfclasses--and nothing in the container startup presumes to delete ones you'd somehow copy in or map as a volume mount. Can you check if you were doing either?

 

2) Along the same lines, you never said if you'd run the simple test code I offered above. If you had, it should have worked (showing it was not a bug as you seemed to think), but it also WOULD have created a new cfclasses file for that template, avoiding conflict you had with any old ones. 


/Charlie (troubleshooter, carehart. org)
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources