microsoft / presidio

Context aware, pluggable and customizable data protection and de-identification SDK for text and images
https://microsoft.github.io/presidio
MIT License
3.89k stars 579 forks source link

Build does not complete without errors and presidio-api url does not work #263

Closed yachtsman60 closed 4 years ago

yachtsman60 commented 4 years ago

When running the build file on an Oracle Linux VM the last 4 docker run commands fail to run as the set variables DOCKER_REGISTRY and PRESIDIO_LABEL are not found. Subsequently, entering the docker run commands manually starts the containers but the presidio-api url returns a 404 page not found error. Entering the container using 'docker exec -it presidio-api /bin/sh' and then try to run 'presidio-api' I am seeing the following errors. {"level":"\u001b[33mWARN\u001b[0m","ts":1580681751.521807,"msg":"anonymizer image service address is empty"} {"level":"\u001b[33mWARN\u001b[0m","ts":1580681751.5218582,"msg":"scheduler service address is empty"} {"level":"\u001b[33mWARN\u001b[0m","ts":1580681751.521887,"msg":"ocr service address is empty"} {"level":"\u001b[31mFATAL\u001b[0m","ts":1580681751.5239797,"msg":"listen tcp :8080: bind: address already in use"} Perhaps I can edit the config file to set the addresses manually and reset the web server? Unsure whether these should be separate issues or are all related to the same root cause at this stage.

Steps to reproduce the behaviour:

  1. Clone the github repo to an Oracle Linux VM instance.
  2. Run the build command
  3. See the 4 docker run errors at the end of the Build output.

Expected behaviour Navigating to the presidio-api url does not return a 404 no page found error.

yachtsman60 commented 4 years ago

Same behaviour in Ubuntu VM with the last 4 docker run commands failing to run as the set variables DOCKER_REGISTRY and PRESIDIO_LABEL not found.

omri374 commented 4 years ago

thanks @yachtsman60. We'll look into this. It makes sense that the DOCKER_REGISTRY is not found if you're not using any registry. Are you getting an error that stops the process? The build would say that DOCKER_REGISTRY wasn't found in case a registry was not supplied, but it would run to completion afterwards. See this line: https://github.com/microsoft/presidio/blob/c89bf3267073662922374675004fe45d150a47b8/Makefile#L31

yachtsman60 commented 4 years ago

@omri374 thanks for the reply. The build does run to completion with the errors provided and therefore does not start running the containers. I think, 'export DOCKER_REGISTRY=presidio' is working, it is the use of () in build.sh around DOCKER_REGISTRY in the docker run commands that means it is not executing as expected. docker run --rm --name presidio-anonymizer --network mynetwork -d -p 3001:3001 -e GRPC_PORT=3001 $(DOCKER_REGISTRY)/presidio-anonymizer:$(PRESIDIO_LABEL) Perhaps {} should be used instead of () as the make commands run successfully using {} as given below? make DOCKER_REGISTRY=${DOCKER_REGISTRY} PRESIDIO_LABEL=${PRESIDIO_LABEL} docker-build-deps

balteravishay commented 4 years ago

Hi @yachtsman60 thanks for this. We are testing this issue. could you please verify that the containers are built in your local ubuntu VM and paste the output of docker image list? Thanks!

omri374 commented 4 years ago

@yachtsman60 please reopen the issue if you encounter any issues