GithubHelp home page GithubHelp logo

Comments (55)

dasjestyr avatar dasjestyr commented on June 3, 2024 54

Becoming increasingly problematic for modern development particularly when you're trying to develop hundreds of microservices on a mac. It's aggravating not being able to spin up a test instance in docker. Instead I have to go through the pain of getting that stuff set up correctly in Azure with all the naming conventions and such, burning more time and money.

from azure-cosmos-db-emulator-docker.

RohanNagar avatar RohanNagar commented on June 3, 2024 39

Any updates on this?

from azure-cosmos-db-emulator-docker.

anton-bruilo avatar anton-bruilo commented on June 3, 2024 29

2022, June.. What about image for M1?

from azure-cosmos-db-emulator-docker.

sean-halpin avatar sean-halpin commented on June 3, 2024 27

Is this on the road map before 2025 ?

from azure-cosmos-db-emulator-docker.

garfbradaz avatar garfbradaz commented on June 3, 2024 25

Upvote here guys:

https://feedback.azure.com/forums/263030/suggestions/18533509

from azure-cosmos-db-emulator-docker.

koprivajakub avatar koprivajakub commented on June 3, 2024 22

M1 support is kind of must have for me. Do you have any timeline when this can be expected? arm64 is here for at least a year now. And not to mention that there won't be a single Mac without arm64 architecture in few years.

from azure-cosmos-db-emulator-docker.

dany74q avatar dany74q commented on June 3, 2024 21

+1 - Is this on the road map for 2020 ?

from azure-cosmos-db-emulator-docker.

atrauzzi avatar atrauzzi commented on June 3, 2024 19

I've mentioned this to Azure folks before, but I really think services shouldn't be released without a cross platform local emulation option.

I swear there's some merit in Azure creating a mini local cloud, complete with dashboard.

from azure-cosmos-db-emulator-docker.

giggio avatar giggio commented on June 3, 2024 17

It would be nice for someone from the core team to answer. We need an ETA, even it is far away. Please don't leave us without an answer.

from azure-cosmos-db-emulator-docker.

dnwarnock avatar dnwarnock commented on June 3, 2024 17

You can just spin up a paired down test instance on Azure. I believe there is a free (or nearly free) tier available.

from azure-cosmos-db-emulator-docker.

nkzawa avatar nkzawa commented on June 3, 2024 16

Hello, we just made a mock server implementation public. Hope it will be helpful for testing your applications.

https://github.com/zeit/cosmosdb-server

from azure-cosmos-db-emulator-docker.

daveHylde avatar daveHylde commented on June 3, 2024 13

I've created this feedback post regarding arm64 support for the emulator (or docker image). Upvote if you agree.

https://feedback.azure.com/d365community/idea/dc98013b-7348-ed11-a81b-000d3ae3db6e

from azure-cosmos-db-emulator-docker.

theramzay avatar theramzay commented on June 3, 2024 12

September 2022 -- any news?

from azure-cosmos-db-emulator-docker.

jabba2324 avatar jabba2324 commented on June 3, 2024 11

Its Feb 2021 and still no linux docker container..

from azure-cosmos-db-emulator-docker.

syedhassaanahmed avatar syedhassaanahmed commented on June 3, 2024 10

+1 Any ETA on this?

from azure-cosmos-db-emulator-docker.

renato04 avatar renato04 commented on June 3, 2024 9

Any updates on this?

from azure-cosmos-db-emulator-docker.

newtack avatar newtack commented on June 3, 2024 9

The problem for us at this point is not for development in our case (we use Windows) but for CI/CD which runs on Docker (Linux). Can someone from Azure team comment on this?

from azure-cosmos-db-emulator-docker.

RohanNagar avatar RohanNagar commented on June 3, 2024 8

Looks like work on this has started today: https://feedback.azure.com/forums/263030-azure-cosmos-db/suggestions/18533509-add-documentdb-emulator-support-for-mac-os-x-and

from azure-cosmos-db-emulator-docker.

CharlieDigital avatar CharlieDigital commented on June 3, 2024 7

@thesqlpro I disagree with the reasoning that it can't be done because it's hard to emulate.

Let that sink in for a bit: you can have an API compatible AWS in a Docker container on your desktop against which you can build and experiment for free for the most part. You can run it in CI/CD as a target for deployment and integration tests. It even integrates with the AWS CLI tooling! I can literally test my CLI command scripts against LocalStack before testing in the cloud environment.

I am a part of this thread -- like many others -- because we love working on Azure and love some of the services on Azure (personally enjoy the DX of Azure Functions over Lambda), but these lingering issues just serve to highlight how much more work the Azure team has ahead of them to really win over developers and teams. Tooling is a big part of that and having this huge gap in tooling is puzzling. Microsoft won't even acknowledge it!

None of us here are asking if Microsoft can make something novel; they already have an emulator for CosmosDB! It already exists! They just need to make it compatible with an established CPU architecture. I don't understand the reasoning why Microsoft can't make this work or is choosing not to make this work. My guess is that the emulator or the core engine itself has some incompatible C/C++ dependencies which is why the x64 emulation doesn't work on Arm64.

That said, I recently came across an emulator built by Vercel of all companies.

https://github.com/vercel/cosmosdb-server

Not sure how well it works nor how compatible it is with the current CosmosDB API, but I would encourage folks to take a look.

from azure-cosmos-db-emulator-docker.

adammartin avatar adammartin commented on June 3, 2024 6

This is an extremely needed feature. At this point I regret choosing CosmosDB based on MS professional suggestion. The tooling just isn't there. It looks like a great platform but it's just missing support.

Please add Linux based version.

from azure-cosmos-db-emulator-docker.

pieterdv avatar pieterdv commented on June 3, 2024 6

there's an early public preview available it seems: https://www.youtube.com/watch?v=NUfK6n8UXi8 and https://gist.github.com/StefArroyo/86a87056300fa58c2042e84cdfaa0e1c#file-azurecosmosdblinuxemulatorgist-md unfortunately not working on M1 macs, so not able to test myself, hope support for M1 is coming soon(ish)

from azure-cosmos-db-emulator-docker.

epomatti avatar epomatti commented on June 3, 2024 5

Upvote here guys:

https://feedback.azure.com/forums/263030/suggestions/18533509

Work started June 24, 2019. Go there and upvote.

from azure-cosmos-db-emulator-docker.

CharlieDigital avatar CharlieDigital commented on June 3, 2024 5

@javierholguera unfortunately, it does not work (tried it when I first got my MBP M1) and that is what makes it puzzling from a technical perspective; I'm very curious why the emulation doesn't work for this image.

docker run --rm -it --platform linux/amd64 mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator
./palrun: ERROR: Invalid mapping of address 0x40037dd000 in reserved address space below 0x400000000000. Possible causes:
1) the process (itself, or via a wrapper) starts-up its own running environment sets the stack size limit to unlimited via syscall setrlimit(2);
2) the process (itself, or via a wrapper) adjusts its own execution domain and flag the system its legacy personality via syscall personality(2);
3) sysadmin deliberately sets the system to run on legacy VA layout mode by adjusting a sysctl knob vm.legacy_va_layout.

cosmos-docker

My workaround is to use a cloud instance of Cosmos in serverless mode ($0.38USD/mo so it's not a big deal), but it means I also need to have a good connection to work and that is not always the case.

from azure-cosmos-db-emulator-docker.

MrDizzle avatar MrDizzle commented on June 3, 2024 5

Any update for this please?

@MrDizzle When someone just asked two days ago, it's bad form to ask yet again right after, all you're doing is polluting people's notifications.

Wait isn't that what you are doing right now by chastising me? πŸ˜…

from azure-cosmos-db-emulator-docker.

newtack avatar newtack commented on June 3, 2024 4

No, we do not use Azure DevOps. We use Docker (Linux) inside of Azure Container Instances. The reason we want to use the emulator is that we probably want to support thousands of requests per second but not have the overhead (network cost & monetary costs) and possible production interference by going directly against Cosmos. That is the key value proposition of the emulator and we want to leverage it inside of our Docker Linux instance.

from azure-cosmos-db-emulator-docker.

ltwlf avatar ltwlf commented on June 3, 2024 4

Linux docker is needed. We use MAC and windows, every dev can choose what he prefer. On widows we use WSL/2. I don’t like the cloud option even there is a free tier. I want to use the same docker dev flow that I always use.

from azure-cosmos-db-emulator-docker.

Aravin avatar Aravin commented on June 3, 2024 4

Any update?

from azure-cosmos-db-emulator-docker.

D3MaxT avatar D3MaxT commented on June 3, 2024 3

Same problem. Windows 10 host, started a new app running in Docker Linux containers on WSL2. Wanted to try out Cosmos DB, so installed the emulator.

First run: "The remote certificate is invalid according to the validation procedure." error using https://host.docker.internal:8081 to connect.

Great development experience Microsoft. Just will have to use SQL again.

from azure-cosmos-db-emulator-docker.

milismsft avatar milismsft commented on June 3, 2024 3

@koprivajakub @pieterdv, please refer to https://docs.microsoft.com/en-us/azure/cosmos-db/linux-emulator?tabs=ssl-netstd21 for Cosmos DB related MacOS and Linux support.
We do not have a timeline currently regarding the Cosmos DB emulator running on M1/M1 Pro Apple silicon based chip. There are tough challenges ahead that might require a rewrite of significant parts of the emulator code, since currently our binaries are X64 based ones and require an Intel chip.

from azure-cosmos-db-emulator-docker.

newtack avatar newtack commented on June 3, 2024 2

Looking for the same, any updated plans to support Linux?

from azure-cosmos-db-emulator-docker.

danielptm avatar danielptm commented on June 3, 2024 2

We need this. Our company is exploring using Mongodb atlas because they think it will in the grand scheme be cheaper because they will save on developer setup/troubleshooting time. If this were available for linux cosmos would have been the choice.

from azure-cosmos-db-emulator-docker.

CharlieDigital avatar CharlieDigital commented on June 3, 2024 2

Understood, but there are other x64 images that work on M1 under emulation via Rosetta.

from azure-cosmos-db-emulator-docker.

bladelson avatar bladelson commented on June 3, 2024 2

Any update?

from azure-cosmos-db-emulator-docker.

Socolin avatar Socolin commented on June 3, 2024 2

Not sure how well it works nor how compatible it is with the current CosmosDB API, but I would encourage folks to take a look.

Last time I checked when using Linq it throw an error vercel/cosmosdb-server#59 and there is no commit since May, so I'm not sure this alternative is usable.
Also the linux image already available is very buggy (stop working after some times, with 1 cpu using 100%) , so don't get too much hope in the M1 version if MS don't address other problems, and so far I got no response to my bugs reports

from azure-cosmos-db-emulator-docker.

milismsft avatar milismsft commented on June 3, 2024 1

@JustinGrote the previous comment was published by mistake. Yes, we are currently working on adding Linux support for the Azure Cosmos DB emulator but we are in the very early stages of testing it out and by no means ready for the general public to try it out.
Please continue to monitor Microsoft official channels and we hope to make an announcement on this relatively soon.

from azure-cosmos-db-emulator-docker.

CharlieDigital avatar CharlieDigital commented on June 3, 2024 1

@milismsft does the team have any insight into why the emulator image doesn't work on M1 Macs even with docker even with Rosetta? It's very unfortunate. I know that the serverless option is quite cheap for development use cases, but it would be nice to also have a local option to work with.

from azure-cosmos-db-emulator-docker.

garfbradaz avatar garfbradaz commented on June 3, 2024

@newtack: Are you using Azure Dev Ops? If so, does this help?

https://docs.microsoft.com/en-us/azure/cosmos-db/tutorial-setup-ci-cd

from azure-cosmos-db-emulator-docker.

rubit0 avatar rubit0 commented on June 3, 2024

No news? I honestly would be totally fine with a very crude emulator, heck it could be even based on MongoDb or something.

from azure-cosmos-db-emulator-docker.

jpbochi avatar jpbochi commented on June 3, 2024

while there is no official emulator, does anyone know of any alternatives? Perhaps even some partial implementation.

from azure-cosmos-db-emulator-docker.

jpbochi avatar jpbochi commented on June 3, 2024

You can just spin up a paired down test instance on Azure. I believe there is a free (or nearly free) tier available.

I'd like to avoid that. Obviously, it has lots of drawbacks, or a local DB would not even exist. Anyway, I'll have to investigate if that is a workable solution for my case. Thanks.

from azure-cosmos-db-emulator-docker.

JustinGrote avatar JustinGrote commented on June 3, 2024

Seems like the current plan is "go pound sand or use a live azure account".

CosmosDB does have a free tier available now, which helps, but it doesn't help for offline or air-gapped testing and development.

from azure-cosmos-db-emulator-docker.

codematrix avatar codematrix commented on June 3, 2024

It would be nice to at least create a cert like so: host.docker.internal

This way during local development, my Linux docker containers can at least hit https://host.docker.internal:8081 without complaining about "The SSL connection could not be established, see inner exception."

This would be a great plus.

from azure-cosmos-db-emulator-docker.

whung1 avatar whung1 commented on June 3, 2024

@codematrix

To generate a cert, you can see this post where I talk about the steps
Azure/azure-cosmos-dotnet-v3#1232 (comment)

I would advise looking at the post later for updated scripts in case you want to automate this for your team.
Azure/azure-cosmos-dotnet-v3#1232 (comment)

Documentation is here on /GenCert and /FailOnSslMismatch flags:
https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator

from azure-cosmos-db-emulator-docker.

lonewarrior556 avatar lonewarrior556 commented on June 3, 2024

@Azure Azure deleted a comment from thesqlpro 1 hour ago

What!?!?

from azure-cosmos-db-emulator-docker.

JustinGrote avatar JustinGrote commented on June 3, 2024

Seriously there was a comment from @thesqlpro that linked to (what I assume, did not test) was a linux docker container. Was that supposed to not be published yet? You're only going to Streisand effect it, I'm going to post it everywhere :P

from azure-cosmos-db-emulator-docker.

JustinGrote avatar JustinGrote commented on June 3, 2024

@milismsft thanks for clarifying, it is appreciated.

from azure-cosmos-db-emulator-docker.

thesqlpro avatar thesqlpro commented on June 3, 2024

Apologies for the mistake.

from azure-cosmos-db-emulator-docker.

TheOddler avatar TheOddler commented on June 3, 2024

Please continue to monitor Microsoft official channels and we hope to make an announcement on this relatively soon.

Which official channels specifically? Has there been any announcements yet?

from azure-cosmos-db-emulator-docker.

JustinGrote avatar JustinGrote commented on June 3, 2024

@TheOddler https://devblogs.microsoft.com/cosmosdb/

from azure-cosmos-db-emulator-docker.

milismsft avatar milismsft commented on June 3, 2024

@CharlieDigital The Cosmos DB emulator Docker image for Linux requires a x64 compatible CPU. M1 is an arm64 based CPU.

from azure-cosmos-db-emulator-docker.

javierholguera avatar javierholguera commented on June 3, 2024

@CharlieDigital would this approach work? https://forums.docker.com/t/run-x86-intel-and-arm-based-images-on-apple-silicon-m1-macs/117123

The default, of course, is to run the ARM version but if you use the --platform linux/amd64 parameter Docker will run the Intel version for you.

I don't have a Mac with an M1 to test but have been considering getting one and would be interested to see if this fixes it with Cosmos.

from azure-cosmos-db-emulator-docker.

BenjaBobs avatar BenjaBobs commented on June 3, 2024

Also, any news on gremlin support?

from azure-cosmos-db-emulator-docker.

MrDizzle avatar MrDizzle commented on June 3, 2024

Any update for this please?

from azure-cosmos-db-emulator-docker.

JustinGrote avatar JustinGrote commented on June 3, 2024

Any update for this please?

@MrDizzle When someone just asked two days ago, it's bad form to ask yet again right after, all you're doing is polluting people's notifications.

from azure-cosmos-db-emulator-docker.

thesqlpro avatar thesqlpro commented on June 3, 2024

For now, if you can't get the emulator to work with the docker container then use the free tier:
https://learn.microsoft.com/en-us/azure/cosmos-db/free-tier

Cosmos DB is a PaaS service as such it is designed for the cloud. Hard to emulate all that on a personal computer, however I understand the need for testing/training/learning on something local. Not an answer, just a suggestion that might help on your Cosmos journey.

from azure-cosmos-db-emulator-docker.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.