add port forwarder

This commit is contained in:
Newnius 2019-02-18 15:14:12 +08:00
parent cbdedd6a86
commit 308511a7a3
2 changed files with 42 additions and 0 deletions

13
port-forward/Dockerfile Normal file
View File

@ -0,0 +1,13 @@
FROM alpine:3.8
MAINTAINER Newnius <docker@newnius.com>
ARG DEF_REMOTE_PORT=80
ARG DEF_LOCAL_PORT=80
ENV REMOTE_PORT=$DEF_REMOTE_PORT
ENV LOCAL_PORT=$DEF_LOCAL_PORT
RUN apk add --no-cache socat
CMD socat tcp-listen:$LOCAL_PORT,reuseaddr,fork tcp:$REMOTE_HOST:$REMOTE_PORT

29
port-forward/README.md Normal file
View File

@ -0,0 +1,29 @@
port-forward
==========================
Forward your traffic behind NAT, expose certain services in containers etc.
## Usage
Define the following environment variables to configure port-forwarding.
Variable | Description | Optional
-------- | ----------- | --------
REMOTE_HOST | IP or address of the host you want to forward traffic to | no
REMOTE_PORT | Port on remote host to forward traffic to | yes (80)
LOCAL_PORT | Port where container listens | yes (80)
The `socat` process within the container will listen by default to port 80, use `-p`docker
flag to map the port of the local machine where it will listen to traffic to be forwarded.
```bash
docker run \
--name port-forward \
-d \
--restart always \
--publish 81:80 \
--ENV REMOTE_HOST=example.com \
--ENV REMOTE_PORT=82 \
--ENV LOCAL_POST=80 \
newnius/port-forward
```