explain different roles of weave and docker port mapping