I think im doing something justt a little wrong here. I am trying to run Node-Red, via Balena, with a pre-defined set of flows.json that I provide.
As part of that idea, I have successfully created a docker image, that when run, loads up those flows immediately.
Im doing that by virtue of copying the file in my directory, over into /data/flows.json
However when I then try to use this same file, with Balena, and with a docker-compose.yml, I end up with a blank/brand new Node-Red with the tutorial flows.json. Upon inspection of that node-red service on device, I can find no evidence my flows.json ever made it over, to anywhere inside the container/service.
How do I get the docker-compose.yml to respect my wish to copy files in the Dockerfile file?
Here is my docker-compose.yml along with my directory structure
< will add in a comment to this post as new users are prevented from doing multiple media items >
Here is my docker-compose.yml
docker-compose you are specifying you want to use an existing image (pulled from the registry), rather than build your own.
If you specify
build: <dir with Dockerfile and files> rather than
image: nodered/node-red:latest it should build properly.
Thank you TJvV, that makes sense.
I modified by Docker-Compose to point at the local image (noderedtest) I have. The Balena push then fails with error:
Error: pull access denied for noderedtest, repository does not exist or may require ‘docker login’: denied: requested access to the resource is denied
I think what is happening is when I ‘balena push’, the Balena servers are trying to build and cannot go and reach that local image I created. I think I need to make that image available on the public internet right?
That does indeed sound like it’s the case.
I believe it should be possible to deploy images made using
balena build, but haven’t tried that myself yet. Maybe you can pick them up in your
I usually just use the
build syntax instead of
image, so it’s easier to reproduce and I can directly modify things if needed.