Commit Graph

421 Commits

Author SHA1 Message Date
Justin Cormack
cdeec45d66 remove experimental kexec code, now in branch elsewhere
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-06 10:27:29 +01:00
Justin Cormack
8c415a0b2f work around more license formatting issues
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-05 14:16:13 +01:00
Justin Cormack
957746875d highlight failed downloads
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-05 14:02:06 +01:00
Justin Cormack
ae084196bc fix licensing container to fix #70
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-05 12:40:26 +01:00
Justin Cormack
8a8045e03d remove 9p mounts for lofs and sockets
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-05 11:22:39 +01:00
Justin Cormack
6b0b4e05cb remove 9pudc, unused and not being fixed
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-04 18:21:01 +01:00
Justin Cormack
7d11cd267b Do not pin alpine 3.3 version, we do apk upgrade anyway
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-04 15:56:51 +01:00
Justin Cormack
1956a5485a Merge pull request #66 from djs55/docker-proxy-ports
Add custom docker-proxy which understands host port forwarding
2016-04-04 16:32:11 +02:00
Justin Cormack
2d4e77a851 Merge pull request #68 from justincormack/linux4.4
update to 4.4.6 stable kernel series
2016-04-04 15:13:09 +02:00
Justin Cormack
6dc57f8817 update to 4.4.6 stable kernel series
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-04 14:04:55 +01:00
David Scott
9f3a73fe04 Import docker/docker/pkg/proxy from 18c7c67308bd4a24a41028e63c2603bb74eac85e
Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-04 12:41:45 +01:00
David Scott
4f6641ff8c docker: if network=slirp or native/port-forwarding=true, forward ports
Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-04 12:41:45 +01:00
David Scott
9982a03f31 9pinit: mount the port control filesystem under /port
This filesystem can be used to add and remove host port forwards e.g.

  mkdir /port/test
  echo -n '127.0.0.1:80:127.0.0.1:80' >> /port/test/ctl
  RESULT=$(cat /port/test/ctl)

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-04 12:41:45 +01:00
David Scott
30bf58a223 docker: add a patch to add --userland-proxy-bin argument
This will let us override the `docker-proxy` with the enhanced host
port-forwarding aware version.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-04 12:41:45 +01:00
David Scott
c627c0e643 docker: compile from scratch rather than download binaries
A later patch will apply a non-upstream patch to docker.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-04 12:41:45 +01:00
David Scott
772bb48010 proxy: determine "my" address by examining the "docker" forward
When requesting a port forward we currently need to know the VM's
address from the point of view of the port forwarder. The easiest way to
discover this is to read it from the existing "docker" port forward.

Note this should all be revamped once we have vsock support.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-04 12:41:02 +01:00
David Scott
b29a44b4a8 proxy: set up and tear down host port forwards
This patch uses the /port 9P filesystem to set up and tear down port
forwards on the host.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-04 12:41:02 +01:00
David Scott
eab69ef583 proxy: add exposePort and unexposePort stubs
This patch removes `proxyForever` and adds `sendError` and `sendOK` for
signalling to the parent process. The main function now sequences these
functions and calls stub functions `exposePort` and `unexposePort` which
will be hooked up in a later patch.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-04 12:41:02 +01:00
David Scott
3d5767714c proxy: on exit, return to main for cleanup
Previously the proxy.go would directly call `os.Exit`. This patch
causes control to return to `main` where we can tear down any port
forward.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-04 12:41:02 +01:00
David Scott
cc52a5d553 proxy: split the execProxy function into parts
Previously `execProxy` would
- create the proxy
- signal success/failure to the parent
- run forever (until signalled)

Since we want to add more proxy setup and teardown, this patch
removes the proxy creation from `execProxy` and renames it to
`proxyForever`. Later patches will be able to perform the necessary
side-effects before signalling success to the parent.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-04 12:41:02 +01:00
David Scott
1c0b7f8774 Import docker/libnetwork/portmapper/proxy.go
Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-04 12:41:02 +01:00
David Scott
4ce4e978c6 Add skeleton /sbin/proxy program
This will eventually contain the `docker-proxy` replacement.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-04 12:41:02 +01:00
Justin Cormack
cedc6faa6e make tar more correct, by defining z
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-04 12:20:18 +01:00
Justin Cormack
73c6cb0593 fix typo in tar extract
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-04 12:13:45 +01:00
Justin Cormack
85fa14ad8e Remove docker-x for now as no longer working, and was not possible to enable. Will rework when strategy for supporting multiple dockers decided
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-04 11:47:48 +01:00
Justin Cormack
e851bacbd6 Increase p and n ulimits to match boot2docker, fixes #64
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-04 11:44:27 +01:00
Justin Cormack
d29278ba32 clean up unpacking docker rc3 bundle
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-03 09:34:01 +01:00
Justin Cormack
a655087ead Merge pull request #63 from djs55/diagnostics-server
Make the diagnostics download more reliable
2016-04-02 22:34:15 +01:00
David Scott
18e54b792b diagnostics: apply a timeout to all commands
This should avoid unnecessary blocking if (for example) the network is
down.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-02 13:55:36 +01:00
David Scott
9608c4aaf0 diagnostics: run iptables-save
This is more complete than `iptables -t nat -L`

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-02 13:55:36 +01:00
Justin Cormack
5057a0cc54 update to docker 1.11.0-rc3
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-02 09:12:20 +01:00
Justin Cormack
a187d2e5f4 Support for 1.11.0-rc2, fix #57
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-31 18:54:05 +01:00
Justin Cormack
1947dc4e19 check diagnostics server running in diagnostics
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-31 14:58:13 +01:00
Justin Cormack
3473f0717f Merge pull request #59 from djs55/diagnostics-server
Allow diagnostics to be downloaded on port 62374
2016-03-31 12:16:00 +01:00
David Scott
1beef9a6c8 diagnose: include iptables -t nat -L
The extra `-t nat` includes the masquerading stuff.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-03-31 11:14:31 +01:00
David Scott
157d2aef07 diagnostics: use netstat -tulpn which includes process names
For example:

  docker:~# netstat -tulpn
  Active Internet connections (only servers)
  Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
  tcp        0      0 :::32768                :::*                    LISTEN      1344/docker-proxy
  tcp        0      0 :::2375                 :::*                    LISTEN      1124/docker
  tcp        0      0 :::5000                 :::*                    LISTEN      1444/docker-proxy
  tcp        0      0 :::5001                 :::*                    LISTEN      1494/docker-proxy

Signed-off-by: David Scott <dave.scott@docker.com>
2016-03-31 10:35:35 +01:00
Justin Cormack
7d13618c2c update to 4.1.20
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-30 17:02:22 +01:00
David Scott
82e9dfc4ee diagnose: grab the tail /var/log/docker.log
Signed-off-by: David Scott <dave.scott@docker.com>
2016-03-30 15:42:48 +01:00
Justin Cormack
b42ce503b8 simplified vendoring
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-30 15:08:32 +01:00
David Scott
f9eca40371 diagnose: put all the files inside a moby/ subdirectory
Signed-off-by: David Scott <dave@recoil.org>
2016-03-30 15:03:28 +01:00
David Scott
d24dd9d59b diagnose: ls -l /var, /var/lib and /var/lib/docker
Signed-off-by: David Scott <dave.scott@docker.com>
2016-03-30 14:28:00 +01:00
David Scott
a97038273e diagnose: try a ping, grab /etc/resolv.conf and route -n
Signed-off-by: David Scott <dave.scott@docker.com>
2016-03-30 14:25:58 +01:00
David Scott
75f60eca3c diagnostics-server: add more diagnostics
For networking:
- ifconfig -a
- brctl show

For storage:
- mount
- df

Signed-off-by: David Scott <dave@recoil.org>
2016-03-30 10:34:04 +01:00
David Scott
af9b3ad7a2 Allow diagnostics to be downloaded on port 62374
A client like `pinata diagnose` can do the equivalent of:

  nc 192.168.64.2 62374 > foo.tar

and find `foo.tar` contains

- the output of `/usr/bin/diagnostics`
- `iptables -L`
- `netstat -an`
- `ps uax`
- `docker ps`
- `dig docker.com`
- `wget http://docker.com`

This will allow us to diagnose various in-VM faults, without having
to ask the user to access the console and run commands.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-03-30 10:31:55 +01:00
Justin Cormack
4dec575407 switch root to a tmpfs filesystem, so pivot_root works, should make #57 work now
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-29 22:09:23 +01:00
Justin Cormack
38aef85f6a fix some pedantic xhyve build issues with newer toolchain
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-29 18:46:20 +01:00
Justin Cormack
f98fb92480 add --rm for transfused
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-29 18:31:55 +01:00
Justin Cormack
6f9f612cad Merge pull request #58 from yallop/free-con
Transfused: free connection objects when read returns 0.
2016-03-29 16:54:13 +01:00
Jeremy Yallop
f23b6d7596 Transfused: free connection objects when read returns 0. 2016-03-29 16:37:51 +01:00
Justin Cormack
dfeda82352 No need to add git to golang:alpine now we have vendored all code
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-28 22:12:51 +01:00