I haven't done this with docker but the hco and hci commands use more ports than just 5101. If i were you, I'd try a simple hchu or hsql command to start.If you have access to the harvest server, check to see if there is a direct_connect_port_range value in your $RTHOME/standard/rtserver.cm. That is where you'll see the port range that harvest will use if you're not using the default. The Implementation guide has more information about that too. Anyway, you may need to expose all those ports.
You might also want to look at just having the harvest cli installed on the docker host, hco the files to a say a ./src subdirectory and then start as many containers as you want e.g.docker run --rm -v $(pwd)/src:/src -w /src imagename bashOr add the hco to a build script just before you docker build command. Then you just need a COPY ./src /src line in your DockerfileBoth of those will keep the image size smaller. I'm guessing don't need the harvest cli in your image just the files from harvest.