Problem with docker image

16 views
Skip to first unread message

Bene

unread,
Mar 17, 2020, 11:34:49 AM3/17/20
to bisque bioimage
Hi,

I was testing Bisque today, using the docker image. I could log in as admin, register the MetaData module, but now when I call it on an image (no matter which) I get the following error:
The module reported an internal error:

During exec of ['start']: HTTPConnectionPool(host='romulus', port=9898): Max retries exceeded with url: /services (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 110] Connection timed out',)) env=[{'files': ['MetaData.py'], 'executable': ['python', 'MetaData.py', 'http://romulus:9898/data_service/00-F9jSetqh2kRS4fzmzyjtub', 'http://romulus:9898/module_service/mex/00-n7wQ2pfex57S6qgcbiyo5', 'admin:00-n7wQ2pfex57S6qgcbiyo5'], 'initial_dir': '/source', 'module_enabled': 'True', 'named_args': {'bisque_token': 'admin:00-n7wQ2pfex57S6qgcbiyo5', 'image_url': 'http://romulus:9898/data_service/00-F9jSetqh2kRS4fzmzyjtub', 'mex_url': 'http://romulus:9898/module_service/mex/00-n7wQ2pfex57S6qgcbiyo5'}, 'matlab_installed': 'False', 'bisque_token': u'admin:00-n7wQ2pfex57S6qgcbiyo5', 'environments': 'Staged', 'runtime.staging_base': '/source/staging', 'mex_id': '00-n7wQ2pfex57S6qgcbiyo5', 'runtime.matlab_launcher': '/source/config-defaults/templates/matlab_launcher.tmpl', 'arguments': [], 'module_dir': '/source', 'staging_path': '/source/staging/00-n7wQ2pfex57S6qgcbiyo5', 'iterables': False, 'log_name': '/source/staging/00-n7wQ2pfex57S6qgcbiyo5/python.log', 'runtime.matlab_home': '', 'mex_url': 'http://romulus:9898/module_service/mex/00-n7wQ2pfex57S6qgcbiyo5', 'rundir': '/source/staging/00-n7wQ2pfex57S6qgcbiyo5', 'runtime.platforms': 'command'}],Exception in module: ['start'] exception = HTTPConnectionPool(host='romulus', port=9898): Max retries exceeded with url: /services (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 110] Connection timed out',)) env=[{'files': ['MetaData.py'], 'executable': ['python', 'MetaData.py', 'http://romulus:9898/data_service/00-F9jSetqh2kRS4fzmzyjtub', 'http://romulus:9898/module_service/mex/00-n7wQ2pfex57S6qgcbiyo5', 'admin:00-n7wQ2pfex57S6qgcbiyo5'], 'initial_dir': '/source', 'module_enabled': 'True', 'named_args': {'bisque_token': 'admin:00-n7wQ2pfex57S6qgcbiyo5', 'image_url': 'http://romulus:9898/data_service/00-F9jSetqh2kRS4fzmzyjtub', 'mex_url': 'http://romulus:9898/module_service/mex/00-n7wQ2pfex57S6qgcbiyo5'}, 'matlab_installed': 'False', 'bisque_token': u'admin:00-n7wQ2pfex57S6qgcbiyo5', 'environments': 'Staged', 'runtime.staging_base': '/source/staging', 'mex_id': '00-n7wQ2pfex57S6qgcbiyo5', 'runtime.matlab_launcher': '/source/config-defaults/templates/matlab_launcher.tmpl', 'arguments': [], 'module_dir': '/source', 'staging_path': '/source/staging/00-n7wQ2pfex57S6qgcbiyo5', 'iterables': False, 'log_name': '/source/staging/00-n7wQ2pfex57S6qgcbiyo5/python.log', 'runtime.matlab_home': '', 'mex_url': 'http://romulus:9898/module_service/mex/00-n7wQ2pfex57S6qgcbiyo5', 'rundir': '/source/staging/00-n7wQ2pfex57S6qgcbiyo5', 'runtime.platforms': 'command'}],Problem in dispatch:500:Internal Server Error

I simply run docker with docker with the following command:
docker run -p 9898:8080 cbiucsb/bisque05:stable

This is on Ubuntu 18.04

Thank you very much for any hint,

Bene

kgk

unread,
Mar 17, 2020, 11:59:10 AM3/17/20
to bisque-...@googlegroups.com

This may be an issue with dns naming.   The engine service is trying to reach romulus:9898 but inside the container the DNS service is not resolving the hostname.  You could try using a full hostname i.r. romulus.mydomain.com .   If you do not have DNS resolution you add the name 


--
You received this message because you are subscribed to the Google Groups "bisque bioimage" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bisque-bioima...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bisque-bioimage/0196d71b-f41a-455d-a6a6-15703c7c437a%40googlegroups.com.


--
Kristian G. Kvilekval (kkvil...@gmail.com) 805-636-1599

Bene

unread,
Mar 17, 2020, 5:23:00 PM3/17/20
to bisque bioimage
Dear Kristian,

thanks for the fast reply.

I tried docker run with --add-host, and I also tried it with the IP address, but neither worked. I then tried it on my local computer, opening BisQue at http://localhost:9898, but that did not work either. Finally, I skipped the port change, i.e. run it with
docker run -p 8080:8080 cbiucsb/bisque05:stable
and that finally did work, which makes me believe it's not (only) the name resolution, but also the port (which makes sense because in the container it needs to use 8080, while from outside it's 9898)

Now I'm wondering how the example on you website can have worked at all? Guess I'm still missing something. If you have any idea...

Thanks again,
Bene
To unsubscribe from this group and stop receiving emails from it, send an email to bisque-...@googlegroups.com.

kgk

unread,
Mar 18, 2020, 12:36:02 AM3/18/20
to bisque-...@googlegroups.com
It probably is related to how you registered the module inside the container.

I believe the engine_service is also running at on the same port inside the container.  You can check that by seeing if engine_service is listed at http://HOST/servces/

If it's not then it may be at (internally) 9090.
We used to open a separate port (usually 9090) for engines, due to some restrictions we saw when the server tried to POST to another service.
These were relaxed when we started using background threads internally for POSTs.


To unsubscribe from this group and stop receiving emails from it, send an email to bisque-bioima...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bisque-bioimage/e12f6281-658d-4caf-8847-059630124c5c%40googlegroups.com.

Bene

unread,
Mar 19, 2020, 11:54:48 AM3/19/20
to bisque bioimage
Dear Kristian,

sorry, but I'm not making any progress here.

On host romulus, I run docker run --add-host romulus:XXX.XXX.XXX.XXX --name=bisque --rm -p 9898:8080 cbiucsb/bisque05:stable

Then on my desktop computer (not romulus), I open in a browser "http://romulus:9898", and I get the BisQue interface. I log in as admin, go to the Module Manager. I tried the following:
- Enter 'http://romulus:9898/engine_service', which gives me 'Failed to find engine'
- Enter 'http://romulus:8080/engine_service', which gives me 'Failed to find engine', too
I also tried port 9090, but this didn't work either.

I logged into the container and tested name resolution, and host romulus was found from within the container.

After registering the MetaData module (by dragging it to the left to 'Registered Modules', I go to Analyze>MetaData, select an input image and then click on 'Run'. After some seconds, I get the aforementioned error:

The module reported an internal error:
During exec of ['start']: HTTPConnectionPool(host='romulus', port=9898): Max retries exceeded with url: /services (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 110] Connection timed out',))

Since this is run from within the container, my guess is that is should really use port 8080, instead of 9898, but how can I tell it to do so?

I would be really grateful for any further hints.

Best wishes,
Bene

kgk

unread,
Mar 19, 2020, 12:06:05 PM3/19/20
to bisque-...@googlegroups.com
Unregister any previously registered modules.
The righthand panel of the module manager has  a box "enter engine url" .. Enter the localhost:8080 there and click "load engine" to see what modules 
are there.  If they then, register those modules.
   

To unsubscribe from this group and stop receiving emails from it, send an email to bisque-bioima...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bisque-bioimage/68397300-9646-4b35-9bb3-4af5f39b3768%40googlegroups.com.

Bene

unread,
Mar 20, 2020, 3:19:12 AM3/20/20
to bisque bioimage
Hi Kristian,

Registering the modules is not the problem. Using http://localhost:8080/engine_service, I see all the modules, but I cannot run them, because of the connection error. I assume this is because it tries to connect from within the container using port 9898 when running the module, although it needed to use port 8080.

I think that I'm probably missing something, otherwise this would mean that it is not possible to run modules when running BisQue from your docker image the way it is described on the wiki (https://biodev.ece.ucsb.edu/projects/bisque/wiki), i.e.
docker run -p 9898:8080 cbiucsb/bisque05:stable

(While keeping the port seems to work, i.e. docker run -p 8080:8080 cbiucsb/bisque05:stable)

Thanks,
Bene
Reply all
Reply to author
Forward
0 new messages