Install socat
in your container and at startup run
socat TCP-LISTEN:3306,fork TCP:B-IP:3306 &
This will listen locally on your 3306 and pass any traffic bidirectionally to B-IP:3306
. socat is available in package named socat. So you will run any of the below commands to install it
$ yum install -y socat
$ apt install -y socat
$ apk add socat
Edit-1
You can even do this by not touching your original container
Dockerfile
FROM alpine
RUN apk update && apk add socat
Build the file as below
docker build -t socat .
Now run a container from same
docker run --name mysql-bridge-a-to-b --net=container:<containerAid> socat socat TCP-LISTEN:3306,fork TCP:BIP:3306
This will run this container on A's network. So when it listens on A's network the localhost:3306
will become available in A even though A container was not touched.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…