Skip to content
This repository has been archived by the owner on Nov 16, 2023. It is now read-only.

Release Linux/ARM64 docker image for ‘seabreeze/azure-mesh-counter’ #85

Open
odidev opened this issue Mar 9, 2021 · 0 comments
Open

Comments

@odidev
Copy link

odidev commented Mar 9, 2021


This issue is for a: (mark with an x)

- [x ] feature request - Support for Linux/ARM64 docker image

Minimal steps to reproduce

Run build.linux.sh file in Linux/ARM64 machine.

Any log messages given by the failure

docker build src -f src/counterService/linux.Dockerfile -t azure-mesh-counter:dev-alpine
Sending build context to Docker daemon 81.41kB
Step 1/16 : FROM microsoft/aspnetcore:2.0 AS base
2.0: Pulling from microsoft/aspnetcore
no matching manifest for linux/arm64/v8 in the manifest list entries

Expected/desired behavior

Docker Image must be generated for Linux/ARM64 machine

OS and Version?

Linux (Debian, Ubuntu)

Versions

Latest

Mention any other details that might be useful

I tried to create a container on the Linux/AMD64 machine, using seabreeze/azure-mesh-counter:0.5-alpine docker image but I am getting the below exceptions and the container does not get started. Please refer to the logs below for more details.

“Unhandled Exception: System.FormatException: Unrecognized argument format: 'bash'.
at Microsoft.Extensions.Configuration.CommandLine.CommandLineConfigurationProvider.Load()
at Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(IList`1 providers)
at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build()
at Microsoft.AspNetCore.Hosting.WebHostBuilder.BuildCommonServices(AggregateException& hostingStartupErrors)
at Microsoft.AspNetCore.Hosting.WebHostBuilder.Build()
at Microsoft.ServiceFabricMesh.Samples.Counter.Service.Controllers.Program.Main(String[] args) in /src/counterService/Program.cs:line 15”

Please let me know if you have any suggestions to fix this.

I also tried to build the docker image by running the build.linux.sh file. The build was successful in the Linux/AMD64 machine but it failed in Linux/ARM64 machine. The ARM64 build was failing since the counterservice uses dotnet framework version 2.0 which does not have an ARM64 support.

I made some changes in the dockerfile and in the repository to upgrade the dotnet framework to the latest version 5.0. With these changes, I am able to build docker images on Linux/ARM64 machines.

However, in the docker image, the counterservice.dll is for intel and not for ARM64. May I know how you are building this dll?

Do you have any plans on adding arm64 support and releasing arm64 images?

If required, I am happy to contribute.


Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant