Hi everyone,
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:
_ Subsystem1/Dockerfile
_ Subsystem2/Dockerfile
_ Subsystem3/Dockerfile
_ docker-compose.yaml
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!