azure-cosmos-db-emulator-docker
azure-cosmos-db-emulator-docker copied to clipboard
Linux emulator fails on macOS M1 even with x64 virtualization
Understandably, you do not support M1 chips and it is questionable if supporting M1 chips is worth prioritizing; however, somehow the container fails on M1 even when using x64 virtualization, as demonstrated in #17.
At a minimum, can we have the container work with x64 emulation?
Please do something for start it on Mac M1 .. I see that another topics about that exists more than 1 year.
This would be an awesome addition since we are seeing more and more M1's as dev boxes.
I would also appreciate seeing this working. 🙏
2+ years past since WWDC 2020. We're all need support for Apple silicon.
100% agree that the emulator should work on arm64. I've created this azure feedback post on the issue. Don't know if Microsoft care about it, but worth a shot. https://feedback.azure.com/d365community/idea/dc98013b-7348-ed11-a81b-000d3ae3db6e
FYI we ended up migrating off CosmosDB because of this
FYI we ended up migrating off CosmosDB because of this
~~One idea could be to use the MongoDB driver with CosmosDB and then replace emulator with MongoDB image.~~
Don't go down that route!
@milismsft @mominag @aliuy
Try asking here https://learn.microsoft.com/en-us/answers/topics/azure-cosmos-db.html Maybe someone will look on this issue
maybe @jongio know who to contact or existing workaround / replacement
@markjbrown would likely know
There's no workaround for this unfortunately. This is on our roadmap to deliver but I don't have any ETA.
can you point out where the source is for the MSI hosted at https://aka.ms/cosmosdb-emulator that is in the Dockerfile
maybe someone might find out how to get update (replace/remove) all the servercore specifics to make it more XPlat ?
The emulator is not open source.
should it be concidered to open source it ?
if not, should all the communication protocol be open / documented or is it already ? i'm thinking like the LSP
private impl could be kept private
It can only benefits everyone
Yes, I will definitely take that suggestion to the team.
Thank you!
Please do whatever it takes to prioritise and get this resolved soon. Not having proper tool support is a show stopper.
Everything works perfectly in my development environment on the MacBook Pro M1, except the Azure Cosmos DB Emulator.
My current workaround is to run the Azure Cosmos DB Emulator on Parallels Desktop, but that workaround has a lot of disadvantages, and I wouldn't need Parallel Desktop if it wasn't for this...
Please make sure to make it work for MacBook Pro M1. That will be a BIG help.
Would love to see M1 support.
Not having M1 support is a big limitation, and it has definitely a major impact when it comes down to choosing a Cloud platform and/or Azure resource selection.
Agreed. Between this and not supporting mssql on aarch64 in docker, I'm concerned about proper development support of these products. Seems they're trying to rely on Docker supporting Rosetta (which is supposed to be a temporary/transition piece, not a something to rely on long term).
Oof, ran into this issue today. We need this for our Cosmos db app development as well.
Oof, ran into this issue today. We need this for our Cosmos db app development as well.
Unfortunately the people responsible of this product doesn’t seem to care that much about this? Everything works just fine for me as .NET developer on a MacBook Pro M1 except the Azure Cosmos DB Emulator.
Oof, ran into this issue today. We need this for our Cosmos db app development as well.
Unfortunately the people responsible of this product doesn’t seem to care that much about this? Everything works just fine for me as .NET developer on a MacBook Pro M1 except the Azure Cosmos DB Emulator.
Yep, same for me as dotnet/react developer. CosmosDB emulator the only one software on the world, that not runs at all on my arm64 Mac. It's looks insane for 2023. It not works even in latest Docker "Rosetta 2 in Linux" feature.
The latest beta of Docker Desktop has a new feature for better support of running x86/64 binaries with Rosetta 2. Would this make it possible to run the Linux Emulator on M1 chips? I haven’t had the possibility to test this my self yet, so if anyone wants, please try it out and reach back here with the result please :)
More info about this can be found here: https://github.com/docker/roadmap/issues/384
The latest beta of Docker Desktop has a new feature for better support of running x86/64 binaries with Rosetta 2. Would this make it possible to run the Linux Emulator on M1 chips? I haven’t had the possibility to test this my self yet, so if anyone wants, please try it out and reach back here with the result please :)
More info about this can be found here:
https://github.com/docker/roadmap/issues/384
Nope. I've tested it already. Emulator Just run & die immediately after start.
Hi folks. Thanks for all your comments.
As I mentioned back in December this is on our roadmap, but I don't have an ETA.
It might help if I explain how features get committed on our team. I think most folks here understand this, but I want to take a moment to explain to help set expectations and provide some solace to those who may not think we care or paying attention to this.
The Cosmos team (along with every service team in Azure) organizes feature work in 6-month semester that starts after a month of planning where work items are committed. The current semester started in October and runs through March. Despite Microsoft's size, feature teams are very lean. Items that are committed are done after careful resource planning to ensure we don't over commit, resulting in slips or dropped items. This means that even if we see intense demand for something after planning, (like this one here where the bulk of input occurred after the semester had started), it is unlikely we could take it on. This would often require dropping other committed work which could lead to a cascade of issues for downstream dependencies.
The planning for our next semester (April-October) will start sometime near the end of February next month. M1 support is among the list of features that will be reviewed for this upcoming semester. This GitHub issue here that you have been commenting and voting the feature up on, has been filed in support of the feature and is being followed.
We recognize and appreciate your continued interest and support for this. For people who are seeing this Issue for the first time, you are welcome to add your support as well. Once planning for our upcoming semester has concluded, myself or another on our team will revert back here on the outcomes.
Thanks again.
@markjbrown thanks for the insights on feature semesters. Don't sweat it - I'm just hoping for this to get committed to in the next semester, fingers crossed 🤞 And trying to create some buzz here to get the necessary attention 😉
Would really love to see this. Tis a big deal for integration tests and regular development flows.
My current workaround is to run the Azure Cosmos DB Emulator on Parallels Desktop, but that workaround has a lot of disadvantages, and I wouldn't need Parallel Desktop if it wasn't for this...
@Compusa could you explain how you got this running? I’ve been working on this for days and can’t seem to connect the code/SDK to the emulator. I am also using parallels.