
Example: a pod like the below should proxy port 53 TCP and UDP to the main DNS service. ``` apiVersion: v1 kind: Pod metadata: name: localhost-dns-proxy spec: containers: - name: proxy-udp image: gcr.io/google_containers/proxy-to-service:v1 args: [ "udp", "53", "kube-dns.default" ] ports: - name: udp protocol: UDP containerPort: 53 hostPort: 53 - name: proxy-tcp image: gcr.io/google_containers/proxy-to-service:v1 args: [ "tcp", "53", "kube-dns.default" ] ports: - name: tcp protocol: TCP containerPort: 53 hostPort: 53 ```
9 lines
380 B
Docker
9 lines
380 B
Docker
# Alpine linux would be great for this, but it's DNS does not use seach paths.
|
|
FROM progrium/busybox
|
|
MAINTAINER Tim Hockin "thockin@google.com"
|
|
|
|
RUN opkg-install socat
|
|
|
|
# Usage: docker run -p <host-port>:<port> <this-container> <tcp|udp> <port> <service-name>
|
|
ENTRYPOINT [ "sh", "-c", "PROTO=$(echo $0 | tr a-z A-Z); exec socat ${PROTO}-LISTEN:$1,reuseaddr,fork ${PROTO}:$2:$1" ]
|