Merge pull request #875 from paulbellamy/proxy-port
Add support for custom proxy bind address Closes #805. Closes #810.
This commit is contained in:
commit
fe6d05fccc
3 files changed
+25
-12
No files matched your search
+13
-3
@@ -13,7 +13,7 @@ import (
|
||||
var (
|
||||
version = "(unreleased version)"
|
||||
defaultDockerAddr = "unix:///var/run/docker.sock"
|
||||
defaultListenAddr = ":12375"
|
||||
defaultListenAddr = "tcp://0.0.0.0:12375"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -29,8 +29,8 @@ func main() {
|
||||
c.Version = version
|
||||
getopt.BoolVarLong(&debug, "debug", 'd', "log debugging information")
|
||||
getopt.BoolVarLong(&justVersion, "version", 0, "print version and exit")
|
||||
getopt.StringVar(&c.ListenAddr, 'L', fmt.Sprintf("address on which to listen (default %s)", defaultListenAddr))
|
||||
getopt.StringVar(&c.DockerAddr, 'H', fmt.Sprintf("docker daemon URL to proxy (default %s)", defaultDockerAddr))
|
||||
getopt.StringVar(&c.ListenAddr, 'H', fmt.Sprintf("address on which to listen (default %s)", defaultListenAddr))
|
||||
getopt.StringVar(&c.DockerAddr, 'D', fmt.Sprintf("docker daemon URL to proxy (default %s)", defaultDockerAddr))
|
||||
getopt.StringVarLong(&c.TLSConfig.CACert, "tlscacert", 0, "Trust certs signed only by this CA")
|
||||
getopt.StringVarLong(&c.TLSConfig.Cert, "tlscert", 0, "Path to TLS certificate file")
|
||||
getopt.BoolVarLong(&c.TLSConfig.Enabled, "tls", 0, "Use TLS; implied by --tlsverify")
|
||||
@@ -52,6 +52,16 @@ func main() {
|
||||
Info.Println("weave proxy", version)
|
||||
Info.Println("Command line arguments:", strings.Join(os.Args[1:], " "))
|
||||
|
||||
protoAddrParts := strings.SplitN(c.ListenAddr, "://", 2)
|
||||
if len(protoAddrParts) == 2 {
|
||||
if protoAddrParts[0] != "tcp" {
|
||||
Error.Fatalf("Invalid protocol format: %q", protoAddrParts[0])
|
||||
}
|
||||
c.ListenAddr = protoAddrParts[1]
|
||||
} else {
|
||||
c.ListenAddr = protoAddrParts[0]
|
||||
}
|
||||
|
||||
p, err := proxy.NewProxy(c)
|
||||
if err != nil {
|
||||
Error.Fatalf("Could not start proxy: %s", err)
|
||||
|
||||
+10
-6
@@ -30,14 +30,18 @@ To start the proxy, run
|
||||
host1$ weave launch-proxy
|
||||
|
||||
By default, the proxy will connect to docker at
|
||||
`unix:///var/run/docker.sock`. This can be adjusted with the `-H`
|
||||
`unix:///var/run/docker.sock`. This can be adjusted with the `-D`
|
||||
argument, e.g.
|
||||
|
||||
host1$ weave launch-proxy -H tcp://127.0.0.1:4243
|
||||
host1$ weave launch-proxy -D tcp://127.0.0.1:4243
|
||||
|
||||
The proxy listens on port 12375, on all network interfaces. All docker
|
||||
commands can be run via the proxy, so it is safe to globally adjust
|
||||
your `DOCKER_HOST` to point at the proxy, e.g.
|
||||
By default, the proxy listens on port 12375, on all network
|
||||
interfaces. This can be adjusted with the `-H` argument, e.g.
|
||||
|
||||
host1$ weave launch-proxy -H tcp://127.0.0.1:9999
|
||||
|
||||
All docker commands can be run via the proxy, so it is safe to
|
||||
globally adjust your `DOCKER_HOST` to point at the proxy, e.g.
|
||||
|
||||
host1$ export DOCKER_HOST=tcp://localhost:12375
|
||||
host1$ docker ps
|
||||
@@ -46,7 +50,7 @@ your `DOCKER_HOST` to point at the proxy, e.g.
|
||||
If you are working with a remote docker daemon, then `localhost` in
|
||||
the above needs to be replaced with the docker daemon host, and any
|
||||
firewalls inbetween need to be configured to permit access to
|
||||
port 12375.
|
||||
the proxy port.
|
||||
|
||||
## <a name="usage"></a>Usage
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ usage() {
|
||||
echo "weave launch [-password <password>] [-nickname <nickname>] [-nodiscovery]"
|
||||
echo " [-iprange <cidr>] <peer> ..."
|
||||
echo "weave launch-dns <cidr>"
|
||||
echo "weave launch-proxy [-H <docker_endpoint>] [--with-dns] [--with-ipam]"
|
||||
echo "weave launch-proxy [-D <docker_endpoint>] [-H <address>] [--with-dns] [--with-ipam]"
|
||||
echo "weave connect [--replace] [<peer> ...]"
|
||||
echo "weave forget <peer> ..."
|
||||
echo "weave run [--with-dns] [<cidr> ...] <docker run args> ..."
|
||||
@@ -51,6 +51,7 @@ usage() {
|
||||
echo "where <peer> = <ip_address_or_fqdn>[:<port>]"
|
||||
echo " <cidr> = <ip_address>/<routing_prefix_length>"
|
||||
echo " <peer_id> = <nickname> or weave internal peer ID"
|
||||
echo " <address> = [tcp://][<ip_address>]:<port>"
|
||||
exit 1
|
||||
}
|
||||
|
||||
@@ -170,7 +171,6 @@ MTU=65535
|
||||
PORT=${WEAVE_PORT:-6783}
|
||||
HTTP_PORT=6784
|
||||
DNS_HTTP_PORT=6785
|
||||
PROXY_PORT=12375
|
||||
PROXY_CONTAINER_NAME=weaveproxy
|
||||
|
||||
|
||||
@@ -944,7 +944,6 @@ case "$COMMAND" in
|
||||
# when launching the weaveproxy container.
|
||||
proxy_args "$@"
|
||||
PROXY_CONTAINER=$(docker run --privileged -d --name=$PROXY_CONTAINER_NAME --net=host \
|
||||
-p $PROXY_PORT:$PROXY_PORT/tcp \
|
||||
$PROXY_VOLUMES \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-v /proc:/hostproc \
|
||||
|
||||
Reference in new issue
Block a user