Unfortunately, my Plone site, running locally in docker, doesn't know how to reach that service, running on my local machine.
I'm sure there's an easier way, but what I did, was launch the block-conversion-tool on a remote server and then change the url to point there
e.g. http://example.com:5000/html (where example.com is my remote machine)
Actually no, but it sounds like a worthwhile approach.
I'm not sure that it would allow transparently pointing at http://localhost:5000/html?
I haven't tested this, but, my understanding is that localhost remains local to each machine, so I would still need to do a bit of fancy footwork to get access to it.
That said, it's certainly a simpler option.
Option A - a shared network
I could register a shared network in my compose file and point it at http://shared_net:5000/html or whatever.
Option B - modify the image to run blocks-conversion-tool in the same container
If you add the blocks_conversion_tool image as a service to your compose file (like 'convtool') and the services are in a shared docker network, your backend can find the service at name 'convtool'.
It's internal DNS magic provided by docker on the service name.
@fredvd
Should have posted an update earlier... your approach worked nicely.
After migrating my zodb to python 3 using zodbconvert, I used this docker-compose.yml