bootcamp
bootcamp copied to clipboard
[BUG]: 'gateway' was unexpected
Is there an existing issue for this?
- [X] I have searched the existing issues
Current Behavior
When I run the docker-compose followed by /bootcamp/solution/reverse_image_search/quick_deploy readme. The error occured shown below.
ERROR: The Compose file './docker-compose.yaml' is invalid because:
networks.app_net.ipam.config value Additional properties are not allowed ('gateway' was unexpected)
Expected Behavior
No response
Steps To Reproduce
1. I am running the solution of https://github.com/milvus-io/bootcamp/tree/master/solutions/reverse_image_search/quick_deploy
2. $ git clone https://github.com/milvus-io/bootcamp.git
$ cd solutions/reverse_image_search/quick_deploy
$ vim docker-compose.yaml
3. $ docker-compose up -d
occur an error
Software version
Milvus: [e.g. 2.0.0rc1]
Server: [e.g. 2.0.0]
Client: [e.g. 2.0.0]
Anything else?
No response
@JinXia77 which version of docker-compose are you using? I think milvus is required Docker(19.03 or later) and Docker Compose(1.25.1 or later), you can check it with docker --version
and docker-compose --version
.
@JinXia77 which version of docker-compose are you using? I think milvus is required Docker(19.03 or later) and Docker Compose(1.25.1 or later), you can check it with
docker --version
anddocker-compose --version
.
I used docker 20.10.17 and docker-compose 1.25.1 and error occured. Now I had update my docker-compose to 1.29.2 and it works! Thank you very much!
@JinXia77 which version of docker-compose are you using? I think milvus is required Docker(19.03 or later) and Docker Compose(1.25.1 or later), you can check it with
docker --version
anddocker-compose --version
.
Another error occured, for now, I have finished docker-compose and changed the data_path to my own data path. For checking the images have been sent to the docker container, I also went into the img-search-webserver containter and the data folder and its images are all exist shown below .
But when I use "+" button to load images, there is no response and it shows that "no image in this set". Actually I do not understand why the web told me that there is no image in this set
Besides, I also check the log info of milvus-standalone which shows below. So do you know how to solve the problem?
Can you run docker logs img-search-webserver
to get the log of webserver? And is there any error message? And I think the milvus-standalone is normal with the log(just some debug and warn messages).
Can you run
docker logs img-search-webserver
to get the log of webserver? And is there any error message? And I think the milvus-standalone is normal with the log(just some debug and warn messages).
Yes, it seems some errors occured, the logs info of img-search-webserver is shown below. It seems that the connection is refused.
Please check you have successfully start all the docker images, and you can run docker-compose ps
under solutions/reverse_image_search/quick_deploy to get the status of all container.
And one question, are you modifying the docker-compose.yaml?
Please check you have successfully start all the docker images, and you can run
docker-compose ps
under solutions/reverse_image_search/quick_deploy to get the status of all container.And one question, are you modifying the docker-compose.yaml?
The docker status seems normal shown below. And the only one thing I changed is the data path at 73 line in docker-compose.yaml from data path to my own data path.
@JinXia77 The status of the container seems normal. In the log you posted earlier, it was found that Milvus was successfully connected at the end. Can you try to rerun load and follow-up message docker logs? It may be that Milvus has not been started yet in your previous operation.
BTW, you can check the network information on the web with developer mode(F12).
@JinXia77 The status of the container seems normal. In the log you posted earlier, it was found that Milvus was successfully connected at the end. Can you try to rerun load and follow-up message docker logs? It may be that Milvus has not been started yet in your previous operation.
BTW, you can check the network information on the web with developer mode(F12).
I rerun the load, there are only two docker containers output logs which are milvus_standalone and img-search-webclient. The logs shown below.
milvus_standalone logs:
img-search-webclient logs:
On the other hand, I also check the network information on the web which is show below:
You can click load and check the Response. Seems like the webserver has not received the request if there no log in webserver.
You can click load and check the Response. Seems like the webserver has not received the request if there no log in webserver.
Yes, there is no response from load. It shows no data found. What might be the reason for this problem?
You can click load and check the Response. Seems like the webserver has not received the request if there no log in webserver.
Hi, for now I can access th websever according to change the environment from API_URL:'http://127.0.0.1:5000' to my gpu sever ip address(although, I set these docker services at my gpu sever). Then, I watched the log info in img-search-webserver, it shows that it is downloading opencv_python. However, the download speed is too slow, so I want to ask where the opencv_python(maybe there are other dependencies?) will be downloaded so that I can download the opencv file with other source and move the file to where it should be. The logs of websever is shown below.
Yes, you can run with another pypi source in the webserver container, for example:
# 1. enter the webserver container
$ docker exec -ti img-search-webserver bash
# 2. install opencv-python with another source:
$ pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
These problems will drive me crazy.... Another problem is that when i load these images, the web_sever container logs that "Error with extracting feature from image unexpected EOF" shown below
And hence, there is no entities loaded in collections, the attu show the infomation of current collenctions
I also check the function of load.py and the "model" shown in load.py, the model will load a resnet50 model and do the pipeline. Run the same code in the gpu server, it can run normally shown below. However, in the docker container, the load() will raise an error shown in the first figure above.
Yes, you can run with another pypi source in the webserver container, for example:
# 1. enter the webserver container $ docker exec -ti img-search-webserver bash # 2. install opencv-python with another source: $ pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
Also, for check whether the figures are good or corrupted in /data in image_search_sever container. I also copy the figure from docker in to gpu sever. The result is the figure copied from docker can be viewed normally in gpu sever.
Also, for check whether the figures are good or corrupted in /data in image_search_sever container. I also copy the figure from docker in to gpu sever. The result is the figure copied from docker can be viewed normally in gpu sever.
The EOF error is because of resnet50 model download error, and you can refer to it. So you can remove the (.pth) in docker and rerun, also you can download it in your local env and copy it to container with docker cp
.
Also, for check whether the figures are good or corrupted in /data in image_search_sever container. I also copy the figure from docker in to gpu sever. The result is the figure copied from docker can be viewed normally in gpu sever.
The EOF error is because of resnet50 model download error, and you can refer to it. So you can remove the (.pth) in docker and rerun, also you can download it in your local env and cp it to container with
docker cp
.
Yes! You are right, I download the pretrained model and cp it to the image_search_sever container. For now, it work! Thank you very much! The successful result is shown below.
Here I have some suggestions, these are all the problems I encountered when I try to realize the functions of web image search. The image_search_sever container still lack of some dependencies, such like torch, timm, python_opencv. You can also add these dependencies into requirements.txt below the sever folder.
Anyway, Thank you very much for solving my so many problems!
Very happy finally it works :)
The python package you mentioned will be automatically installed in the Tohwee Operator. It has corresponding requirements.txt in the operator but not in this solution. Actually, we are also collecting the Q&A about Bootcap, I think your question is good and we will record it for other users.