Wanted to run frp’s client frpc with docker to forward the SSH port.
Main issue was binding to a port already open on the host, and one not controlled by a docker thing.
My first attempt led to this: “: Error starting userland proxy: listen tcp4 0.0.0.0:22: bind: address already in use”
After looking around the Internet, found a solution.
services: frpc: image: chenhw2/frp restart: unless-stopped environment: - ARGS=frpc volumes: - ./conf/frpc.ini:/frp/frpc.ini network_mode: "host" ports: - "22:22"
The key being the “nertwork_mode” part.
Neither frp server nor client configs needed anything special.
Strangely , I didn’t even need to set any capabilities like I did for dns:
services: dns: restart: always image: strm/dnsmasq volumes: - ./conf/dnsmasq.conf:/etc/dnsmasq.conf ports: - "53:53/udp" cap_add: - NET_ADMIN