I’m on ubuntun and am running Lucee 5.2 as a container, an app tries to run cfexecute to call a curl command line with switches / parameters and their respective values and variable parameter to get execution result. These other parameter values are passed from a form submission.
The curl command line is like the following:
curl -s -X POST http://localhost/mydir -H "content-type: application/x-www-form-urlencoded" -d 'user=john&company=xyz'
It seems the cfexecute may not have been executed. The variable returns nothing, also, the target server of the caller did not produce anything (no such request seems to goes to the target server from the cfexecute curl call). And I’ve also added outputfile parameter to no avail.
fyi, the curl is using HTTP protocol and returns a token, and if I run the curl command line manually it executes fine with a token returned.
RESOLVED because the cfexecute URL needs to be the host’s IP address where the other web server is on. Credit: Ben Botto.
regarding error output, where’s the default error log path for Lucee 5.2 container image?
equally important, the little app under Lucee container simply maps myapp1 for www to /var/www
nothing else, so, couldn’t the app in the container call the host computer’s curl (which has been installed)?
if not, how do I install curl onto this little app (container)? Again, I’m on ubuntu.
No. Think of each container as a separate server. It does not normally have privileges to see anything on the host or other containers for that matter. If you want to run a process on a container you have to install it as part of your Dockerfile.
You could add something like this to your Dockerfile:
RUN apt-get update && apt-get install -y curl wget
calling a web server using its IP address outside a lucee container on one ubuntu vm works (tips from Ben Botto), odd thing, for a similar ubuntu vm, similar code (other than vm’s ip address) such calling via cfexecute fails, cfhttp indicates connection refused, what could cause this problem?
This ubuntu vm also has curl installed already and I even added
RUN … install curl … {command}
to the docker