diff --git a/alpine/Dockerfile b/alpine/Dockerfile index 851641b26..1de4df159 100644 --- a/alpine/Dockerfile +++ b/alpine/Dockerfile @@ -26,6 +26,7 @@ COPY kernel/kernel-source-info /etc/ COPY packages/9pudc/9pudc /sbin/ COPY packages/9pudc/etc /etc/ +COPY packages/proxy/proxy /sbin/ COPY packages/transfused/transfused /sbin/ COPY packages/transfused/etc /etc/ COPY packages/mdnstool/mdnstool /sbin/ diff --git a/alpine/packages/Makefile b/alpine/packages/Makefile index 36426e059..82ea7ae7e 100644 --- a/alpine/packages/Makefile +++ b/alpine/packages/Makefile @@ -1,5 +1,6 @@ all: $(MAKE) -C 9pudc OS=linux + $(MAKE) -C proxy OS=linux $(MAKE) -C transfused OS=linux $(MAKE) -C mdnstool OS=linux $(MAKE) -C hupper OS=linux @@ -8,6 +9,7 @@ all: arm: $(MAKE) -C 9pudc OS=linux ARCH=arm + $(MAKE) -C proxy OS=linux ARCH=arm $(MAKE) -C transfused OS=linux ARCH=arm $(MAKE) -C mdnstool OS=linux ARCH=arm $(MAKE) -C hupper OS=linux ARCH=arm @@ -15,6 +17,7 @@ arm: clean: $(MAKE) -C 9pudc clean + $(MAKE) -C proxy clean $(MAKE) -C transfused clean $(MAKE) -C mdnstool clean $(MAKE) -C docker clean diff --git a/alpine/packages/proxy/.gitignore b/alpine/packages/proxy/.gitignore new file mode 100644 index 000000000..c659c4f4f --- /dev/null +++ b/alpine/packages/proxy/.gitignore @@ -0,0 +1 @@ +/proxy diff --git a/alpine/packages/proxy/Dockerfile b/alpine/packages/proxy/Dockerfile new file mode 100644 index 000000000..4cb2c4947 --- /dev/null +++ b/alpine/packages/proxy/Dockerfile @@ -0,0 +1,13 @@ +FROM golang:alpine + +RUN mkdir -p /go/src/proxy +WORKDIR /go/src/proxy + +COPY . /go/src/proxy/ + +ARG GOARCH +ARG GOOS + +RUN go install + +RUN [ -f /go/bin/*/proxy ] && mv /go/bin/*/proxy /go/bin/ || true diff --git a/alpine/packages/proxy/Makefile b/alpine/packages/proxy/Makefile new file mode 100644 index 000000000..40e9381e6 --- /dev/null +++ b/alpine/packages/proxy/Makefile @@ -0,0 +1,10 @@ +all: proxy + +proxy: Dockerfile main.go + docker build --build-arg GOOS=$(OS) --build-arg GOARCH=$(ARCH) -t proxy:build . + docker run --rm proxy:build cat /go/bin/proxy > proxy + chmod 755 proxy + +clean: + rm -f proxy + docker images -q proxy:build | xargs docker rmi -f diff --git a/alpine/packages/proxy/README.md b/alpine/packages/proxy/README.md new file mode 100644 index 000000000..e325cf049 --- /dev/null +++ b/alpine/packages/proxy/README.md @@ -0,0 +1,11 @@ +docker-proxy which can set up tunnels into the VM +================================================= + +This is a replacement for the built-in `docker-proxy` command, which +proxies data from external ports to internal container ports. + +This program uses the 9P filesystem under /port to extend the port +forward from the host running the Moby VM all the way to the container. + +docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -container-ip 172.17.0.2 -container-port 8080 + diff --git a/alpine/packages/proxy/main.go b/alpine/packages/proxy/main.go new file mode 100644 index 000000000..da29a2cad --- /dev/null +++ b/alpine/packages/proxy/main.go @@ -0,0 +1,4 @@ +package main + +func main() { +}