I’m trying to create a multi-architecture deployment system. I have an application with several sub-systems, each with its own dockerfile. Since it’s a multi-container build, I have a
docker-compose.yaml in the project root. This sums up my project structure:
The whole point is that this application must run on both arm64 and amd64 (so it’s a multi-arch).
All my dockerfiles depends on dotnet core, which doesn’t seem to support multi-arch, therefore I’m forced to use an architecture-specific base image in the dockerfiles which leads to having 2 dockerfile for each sub-system and two docker-compose..yaml file.
Having two file for each microservice introduces some maintenance problem, but I’m willing to accept it. The problem is
balena deploy doesn’t seem to have an argument or a way to specify which docker-compose file to use; it simply search for a file named literally “docker-compose.yaml” and, if it doesn’t find it, supposes it’s a single container application.
Is there a way to specify which compose file to use? Am I addressing this problem in the wrong way? Is there an alternative solution for it? Thanks!