mirror of
https://github.com/tun2proxy/tun2proxy.git
synced 2025-04-20 22:09:09 +00:00
optimize docker
This commit is contained in:
parent
b50cac82c0
commit
5d722fc2a3
3 changed files with 35 additions and 17 deletions
|
@ -19,6 +19,7 @@ ENV PROXY=
|
|||
ENV DNS=virtual
|
||||
ENV MODE=auto
|
||||
ENV BYPASS_IP=
|
||||
ENV VERBOSITY=info
|
||||
|
||||
RUN apt update && apt install -y iproute2 curl && apt clean all
|
||||
|
||||
|
|
17
README.md
17
README.md
|
@ -119,16 +119,27 @@ Next, start a container from the tun2proxy image:
|
|||
|
||||
```bash
|
||||
docker run -d \
|
||||
-e PROXY=PROXY_TYPE://PROXY_IP:PROXY_PORT \
|
||||
-e PROXY=proto://[username[:password]@]host:port \
|
||||
-v /dev/net/tun:/dev/net/tun \
|
||||
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
|
||||
--sysctl net.ipv6.conf.default.disable_ipv6=0 \
|
||||
--cap-add NET_ADMIN \
|
||||
--name tun2proxy \
|
||||
tun2proxy
|
||||
```
|
||||
|
||||
You can then provide the running container's network to another worker container by sharing the network namespace:
|
||||
container env list
|
||||
|
||||
| container env | Default | program option | mean |
|
||||
| ------------- | ------- | ----------------------- | ------------------------------------------------------------ |
|
||||
| TUN | tun0 | -t, --tun <name> | Name of the tun interface [default: tun0] |
|
||||
| PROXY | None | -p, --proxy <URL> | Proxy URL in the form proto://[username[:password]@]host:port |
|
||||
| DNS | virtual | -d, --dns <strategy> | DNS handling strategy [default: virtual] [possible values: virtual, over-tcp, direct] |
|
||||
| MODE | auto | -s, --setup <method> | Routing and system setup [possible values: auto] |
|
||||
| BYPASS_IP | None | -b, --bypass <IP> | Public proxy IP used in routing setup which should bypassing the tunnel |
|
||||
| VERBOSITY | info | -v, --verbosity <level> | Verbosity level [default: info] [possible values: off, error, warn, info, debug, trace] |
|
||||
| | | | |
|
||||
|
||||
You can then provide the running container's network to another worker container by sharing the network namespace (like kubernetes sidecar):
|
||||
|
||||
```bash
|
||||
docker run -it \
|
||||
|
|
|
@ -2,28 +2,34 @@
|
|||
|
||||
|
||||
run() {
|
||||
if [ -n "$BYPASS_IP" ]; then
|
||||
BYPASS_IP="--bypass $BYPASS_IP"
|
||||
fi
|
||||
|
||||
if [ -n "$DNS" ]; then
|
||||
DNS="--dns $DNS"
|
||||
fi
|
||||
|
||||
if [ -n "$MODE" ]; then
|
||||
MODE="--setup $MODE"
|
||||
if [ -n "$TUN" ]; then
|
||||
TUN="--tun $TUN"
|
||||
fi
|
||||
|
||||
if [ -n "$PROXY" ]; then
|
||||
PROXY="--proxy $PROXY"
|
||||
fi
|
||||
|
||||
if [ -n "$TUN" ]; then
|
||||
TUN="--tun $TUN"
|
||||
if [ -n "$DNS" ]; then
|
||||
DNS="--dns $DNS"
|
||||
fi
|
||||
|
||||
exec tun2proxy $TUN $PROXY $DNS $MODE $BYPASS_IP
|
||||
if [ -n "$BYPASS_IP" ]; then
|
||||
BYPASS_IP="--bypass $BYPASS_IP"
|
||||
fi
|
||||
|
||||
if [ -n "$VERBOSITY" ]; then
|
||||
VERBOSITY="-v $VERBOSITY"
|
||||
fi
|
||||
|
||||
if [ -n "$MODE" ]; then
|
||||
MODE="--setup $MODE"
|
||||
fi
|
||||
|
||||
echo "Bootstrap ready!! Exec Command: tun2proxy $TUN $PROXY $DNS $VERBOSITY $MODE $BYPASS_IP $@"
|
||||
|
||||
exec tun2proxy $TUN $PROXY $DNS $VERBOSITY $MODE $BYPASS_IP $@
|
||||
}
|
||||
|
||||
|
||||
run || echo "Runing ERROR!!"
|
||||
run $@ || echo "Runing ERROR!!"
|
||||
|
|
Loading…
Add table
Reference in a new issue