I am trying to deploy Node-Red in the easiest way possible to a Docker container.
I have tried starting a Docker container and pulling an Node-Red image from Docker Hub on my local machine which works fine. I can then access Node-Red on 127.0.0.1:1880.
What I am aiming to do is to run Node-Red under Azure Container Instances, i.e. deploy a Node-Red container serverlessly. An Azure Container Instance is intended to be very easy to get started with and provide a public DNS name to access the service.
I followed the Quickstart steps under https://docs.microsoft.com/en-us/azure/container-instances/container-instances-quickstart in great detail. The container was indeed stood up and the logs states the expected:
11 Jun 06:46:53 - [info] Node-RED version: v1.0.6
11 Jun 06:46:53 - [info] Node.js version: v10.20.1
11 Jun 06:46:53 - [info] Linux 4.15.0-1083-azure x64 LE
11 Jun 06:46:53 - [info] Loading palette nodes
11 Jun 06:46:54 - [info] Settings file : /data/settings.js
11 Jun 06:46:54 - [info] Context store : 'default' [module=memory]
11 Jun 06:46:54 - [info] User directory : /data
11 Jun 06:46:54 - [warn] Projects disabled : editorTheme.projects.enabled=false
11 Jun 06:46:54 - [info] Flows file : /data/flows.json
11 Jun 06:46:54 - [info] Creating new flow file
11 Jun 06:46:54 - [warn]
Your flow credentials file is encrypted using a system-generated key.
If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.
11 Jun 06:46:54 - [info] Server now running at http://127.0.0.1:1880/
11 Jun 06:46:54 - [info] Starting flows
11 Jun 06:46:54 - [info] Started flows
When I try to access the Node-Red instance on the public DNS nothing happens. Am I missing some container-to-host mapping of ports? How can I update the container configuration to be accessible?