concore.hpp got ZMQ support in #474/#475. concoredocker.hpp didn't. So Docker C++ nodes are still file-only while Python Docker nodes handle ZMQ fine.
Needs init_zmq_port(), ZMQ read/write routing, socket cleanup in destructor,...same pattern as concore.hpp already does. concore_base.hpp has the ZeroMQPort wrapper ready to use, so most of the heavy lifting is done.
Also while we're in here, read() returns vector but concore.hpp returns vector, worth aligning so wire types match across both C++ variants.