We have been using
torizoncore-builder for the development of our image which works pretty well, however when supplying the docker-compose file property it does not seem to override the default containers or upload the docker-compose file.
We have confimed that
ostree admin status shows the correct deployed image hash as deployed
but when we run
$ less /var/sota/storage/docker-compose/docker-compose.yml still show us the default portainer weston chromium output.
What are we missing here?
Some additional information:
- base image used is 6.2.0 without evaluation containers
- purpose: We made a script to that uploads and builds our environment to the verdin board and ends with docker-compose up. so when we are developing we want a dummy docker-compose file in
var/sota/storage our development docker will then contain the correct weston and kiosk container.
with that said for production builds we do want to use the torizon way so we can use the torizon.io app to update our containers
After you build the custom image as specified in your
tcbuild.yaml how exactly do you then deploy this image to your module?
We use the following commands
Build the image
$ torizoncore-builder build
Load the image
$ torizoncore-builder images unpack image-location
Deploy the image
$ torizoncore-builder deploy --remote $IP --remote-username torizon --remote-password torizon --reboot
I see the issue. You’re deploying via network. For techical reasons changes to the docker-compose file can’t be deployed via network with TorizonCore Builder. If you want your changes to the compose file to take effect you need to do so by using
torizoncore-builder deploy to create a new image that can be installed using Toradex Easy Installer. Only in this way would your changes to the compose file actually be deployed.
Is this on the roadmap for torizoncore-builder or can i put a feature request for it on github?
torizoncore-builder works perfectly but it is a bit confusing that it is deploying the whole unpacked image but does not copy the docker-composefile.
Well there isn’t a roadmap for this functionality currently. If you see our documentation on the deploy command this behavior is actually intended: TorizonCore Builder Tool - Commands Manual | Toradex Developer Center
The bundled application containers can not be deployed using this command when targeting a live device.
The reasons for this being technical rather than any deliberate limitation. In short, the way the
deploy command works is by using OSTree to capture the changes, similar to git if you’re unfamiliar with OSTree. Now OSTree does not manage every single file on TorizonCore. Most importantly it does not manage any files in
/var, which means this compose file is not managed by OSTree. This is why it does not get picked up by the
Now all that said, I can still bring this up to our team for discussion, but I can’t promise any action will be taken here at the moment.