azure-cosmos-db-emulator-docker
azure-cosmos-db-emulator-docker copied to clipboard
Linux docker image won't start due to wrong start.sh location
Describe the bug It seems like the location of the start.sh-file has been moved recently to a bin folder?
We are running the linux docker image both locally and as a part of our dev-stage in Azure DevOps. Starting from Friday a new version of pulling the image from mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator results in an error:
/bin/bash: line 1: /usr/local/bin/cosmos/start.sh: No such file or directory
It seems like it is not possible to use other images than the latest and I also cannot seem to find the image here: https://mcr.microsoft.com/. I see that the latest version is 2.14.20, which I thought we used considering that no other version is available? How can it happen that the file location is suddenly moved?
This is how our Dockerfile looks like:
# Use the official CosmosDB emulator image
FROM mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
RUN apt-get update && apt-get install -y curl jq
# Set environment variables for review environments, will be overriden in docker-compose
ENV AZURE_COSMOS_EMULATOR_PARTITION_COUNT=1
ENV AZURE_COSMOS_EMULATOR_ENABLE_DATA_PERSISTENCE=true
ENV AZURE_COSMOS_EMULATOR_IP_ADDRESS_OVERRIDE=127.0.0.1
# Expose necessary ports
EXPOSE 8081 10251 10252 10253 10254 10255
# Command to start CosmosDB emulator
CMD ["/bin/bash", "-c", "/usr/local/bin/cosmos/start.sh"]
To Reproduce Steps to reproduce the behavior:
- Pull the latest image
- Run the Dockerfile
- See in Docker Desktop or some other logs that you get the error message above
Expected behavior The cosmos container running.
Desktop:
- OS: Windows locally, Linux in pipelines
- Latest
Docker Images Used
- Linux
Docker Environment
- Docker compose
- Standalone
Additional context
I fixed the problem with using
/usr/local/bin/cosmos/bin/start.shinstead of/usr/local/bin/cosmos/start.shin the CMD command.