Coldfusion server docker on M1 MacBook Pro

I need to setup a Coldfusion server on my new M1 MacBook Pro, but have been unsuccessful. I have tried the official Adobe images, CommandBox images, and a few older images I’ve found that combined Coldfusion and Apache servers.

Is anyone successfully running a Coldfusion dev environment on their M1 MacBook? If so, I would really appreciate any help/info to get me started. Sorry if I missed any details, this is my first post here. Thanks!

I haven’t tried Coldfusion, but I have an M1 MacBook Air. Since it has Docker Desktop which may not always compatible with tutorials written for Docker on linux, you could run into problems. If you can describe the problem with error messages and every sharable information, we can try to identify the cause and tell you what you need to do differently using Docker Desktop or an ARM cpu like the M1.

This is the first image I tried - Docker Hub

After pulling the image, I tried to run the container as so:

docker container  run --platform linux/amd64 -dt -e acceptEULA=YES -e password=admin -p 80:80 -p 443:443 -p 8500:8500 -v /Library/WebServer/:/var/www adobecoldfusion/coldfusion2018:latest

But when I try to open in browser through Docker desktop, http://localhost:443/ opens up but cannot connect.

“localhost didn’t send any data.
ERR_EMPTY_RESPONSE”

I also tried this command:

docker container  run --platform linux/amd64 -dt -e acceptEULA=YES -e password=admin -p 80:80 -p 8500:8500 -v /Library/WebServer/:/var/www adobecoldfusion/coldfusion2018:latest

But it opens localhost in the browser and still cannot connect.

I also tried to set this one up, but it seems pretty old and ended up throwing an error at some point (sorry don’t have the exact error message).

You are trying to access port 443 using HTTP instead of HTTPS. Is this what you really tried to open in the browser or is it just a typo in your post?

Sorry, that was a typo.

I was able to access the CF admin at http://localhost:8500/CFIDE/administrator/ and it finalized its setup. But I still can’t reach localhost on port 80.

Try to forward an other port instead of 80. It worked for some people in the past, although I have never encountered this issue when port 80 doesn’t work. Do you have anything in the container log when you open the app from the browser?.

I have been using ortussolutions/commandbox and it’s been the only solution I’ve been able to have work consistently for my dev environment and I’m using an M1 iMac. I’m not a commandbox fanboy either, I just selected it because they actually have a working container that is native for ARM/M1.

1 Like

Thank you for your feedback! Are you developing in Coldfusion as well?

Yep, every day, and I actually have a docker compose setup that spins up multiple ColdFusion instances to simulate our multi-server environment since some of my apps use web services to talk between front-end and back-end servers. With some caveats, the commandbox images work pretty well and let me simulate my environment in dev pretty well.

Do you use Apache on your Mac with Coldfusion server, or the built-in Adobe one? Sorry for all the questions; just trying to figure out how to set up my environment properly. I also has MariaDB installed on my previous laptop so I will need to connect it to the CommandBox image somehow.

That’s one thing I’ve always “cheated” on with my dev setup… I just use the CF built in web server even though production is actually Windows with IIS. If you just keep that in mind it’s usually fine. You can indeed have a DB container as well, I actually have a MSSQL container but you can just as well have MariaDB. Once you start having multiple containers that you want to talk to each other it’s best to learn how to configure them together with docker compose. Just learning those Docker container fundamentals is a learning curve but a very valuable one, so go for it. :smiley:

Thanks Josh. I’ll take a look at docker compose. I hope I can get Coldfusion and MariaDB containers up and running.

For the sake of demonstration, here is a docker-compose file I threw together… based on mine but then simplified down for an example:

version: "3"
services:

    webapps:
        image: ortussolutions/commandbox:arm64-adobe2018-3.4.0
        container_name: webdev_webapps
        depends_on:
            - mssql
        ports:
            - 80:8080
            - 8500:8581
        volumes:
            - /Users/your_user_name/Sites/app:/app
            - /Users/your_user_name/Sites/logs:/usr/local/lib/serverHome/logs
        networks:
            - cfnet
 
    mssql:
        image: mcr.microsoft.com/azure-sql-edge
        container_name: webdev_mssql
        ports:
            - 1433:1433
        volumes:
            - mssqlvol:/var/opt/mssql
        networks:
            - cfnet

volumes:
    mssqlvol:

networks:
    cfnet:

1 Like

Awesome, thank you! This will be a great starting point for me.