lucee/lucee:5.3-nginx
OS: Ubuntu 20.04 on a Digital Ocean droplet
Lucee Version: 5.3.9.141
Hi. I am pretty new to VMs (Digital Ocean) and Docker, and might be misunderstanding how the ports work.
The DNS for flowt.com.au is hosted on my ISP (VentraIP in Australia).
I have a subdomain there apiv1.flowt.com.au
which resolves to the IP address of my Digital Ocean droplet.
I configured nginx and ran certbot according to the very helpful instructions at DO. According to those instructions, the recommended method was to create a separate site and associated nginx server block for that subdomain.
Without my docker containers, as a basic test, I can browse to https://apiv1.flowt.com.au/
and I see my default index.html page which serves from /var/www/apiv1.flowt.com.au/html/index.html
So far so good.
Now… I have an initial test docker compose file pulling in mariadb
and my custom Lucee
image.
The image was built FROM lucee/lucee:5.3-nginx
, pushed to DockerHub then pulled in.
My compose ports are as follows (the full file is below)
ports:
- "80:80"
- "443:443"
Everything was working on port 80 before I installed the SSL. In other words I was using the default nginx web setup and I could browse to http://apiv1.flowt.com.au/
and see my test index.cfm
page which dumped a cfquery served by the Lucee container. All correct.
I removed the containers and am now trying to compose them so I can browse to https://apiv1.flowt.com.au/
and see my default index.html
page there, ie the same as pre-HTTPS. Once that works I will then try to get my index.cfm
page (served by Lucee) working.
However…
The problem: when I do the docker compose I now get:
ERROR: for 35d69e2b733e_flowt_lucee_1 Cannot start service lucee: driver failed programming external connectivity on endpoint flowt_lucee_1 (c4e13f08ebf19196352715309a5179e939700e9189aaaa01f359c84445fffb4a): Error starting userland proxy: listen tcp4 0.0.0.0:443: bind: address already in use
Doing
#sudo netstat -pna | grep 443
yields:
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 24768/nginx: master tcp6 0 0 :::443 :::* LISTEN 24768/nginx: master
I tried with a defined bridge network in case the default one was the culprit. Same result.
Can anyone shed some light please?
Here is my complete compose file. It is just for a test db and passwords etc.
version: "3"
networks:
mynetwork:
driver: bridge
services:
db:
image: mariadb:latest
volumes:
- ./mariadb-data:/var/lib/mysql
restart: always
environment:
MARIADB_ROOT_PASSWORD: mypass
networks:
- mynetwork
ports:
- '3306:3306'
lucee:
depends_on:
- db
image: murrahdock/lucee-site-1:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD : mypass
MYSQL_HOST : db
MYSQL_DATABASE : test
networks:
- mynetwork
ports:
- "80:80"
- "443:443"
Thanks,
Murray